zoukankan      html  css  js  c++  java
  • socket介绍

    Socket详解:https://realpython.com/python-sockets/

    要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,定义了主机如何连入因特网及数据如何再它们之间传输的标准,

    从字面意思来看TCP/IP是TCP和IP协议的合称,但实际上TCP/IP协议是指因特网整个TCP/IP协议族。不同于ISO模型的七个分层,TCP/IP协议参考模型把所有的TCP/IP系列协议归类到四个抽象层中

    应用层:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等

    传输层:TCP,UDP

    网络层:IP,ICMP,OSPF,EIGRP,IGMP

    数据链路层:SLIP,CSLIP,PPP,MTU

    每一抽象层建立在低一层提供的服务上,并且为高一层提供服务,看起来大概是这样子的

    socket

    socket:套接字,是进程间通信的一种方式,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。

    其主要特点有:可以实现不同主机间(网络)的进程通信,几乎所有的网络进程通信都是用socket来实现通信的

    创建socket的基本流程

    一、 使用socket实现不同主机进程的通信的流程

    1创建socket对象

    2. 使用socket对象发送与接收数据

    3. 关闭socket

    二、 socket.socket 创建一个 socket,该函数带有两个参数:

       Address Family:地址族,可以选择 AF_INET(用于 Internet 进程间通 信) 或者 AF_UNIX(用于同一台机器进程间通信),实际工作中常用AF_INET

       Type:套接字类型,可以是 SOCK_DGRAM(数据报套接字,主要用于 UDP 协议)或者 SOCK_STREAM(流式套接字,主要用于 TCP 协议)

    使用socket实现网络通信流程

    def main():
    
        # 1. 创建socket对象
        sc = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        # 2. 使用socket对象发送与接收数据
        # sc.sendto() # 发送数据
        # sc.recvfrom() # 接收数据
        # 3.关闭socket
        print("-----socket run-------")
        sc.close()
    if __name__ == "__":
        main()  
  • 相关阅读:
    修改tomcat的get方法的参数长度
    [转]修改hosts文件不起作用
    [转]solr DataImportHandler 解决mysql 表导入内存溢出问题
    plat模板修改记录
    Linux基本命令
    使用DTM ( Dynamic Topic Models )进行主题演化实验
    Stuts2的"struts.devMode"设置成true后,不起作用,仍需要重启tomcat
    R语言——绘图函数深入学习
    R语言——基本绘图函数
    Stem Cell 华人科学家
  • 原文地址:https://www.cnblogs.com/xiaolu915/p/10511195.html
Copyright © 2011-2022 走看看