Socket

匿名 (未验证) 提交于 2019-12-03 00:41:02
socket

socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。

socket 类型

socket.AF_UNIX 只能够用于单一的Unix类型进程间通信
socket.AF_INET 服务器之间网络通信
socket.AF_INET6 IPv6
socket.SOCK_STERAM 流式socket,用于TCP
socket.SOCK_DGRAM 数据模式socket,用于UDP
socket.SOCK_RAW 原始套接字,普通的套接字无法处理ICMP、IGMP等网络报文,而socket.SOCK_RAW可以;其次,socket.SOCK_RAW也可以处理特殊的IPv4报文;此外。利用原始套接字,可以通过IP_HDRINCL套接字选项由用户构造IP头
socket.SOCK_SEQPACKET 可靠的连续数据包服务

socket 函数

  • 服务端socket函数

    s.bind(address) 将套接字绑定到地址,在AF_INET下,以元祖(hsot,port)的形式表示地址
    s.listen(backlog) 开始监听TCP传入连接,backlog指定可以挂起的最大连接数
    s.accept() 接收TCP连接并返回(conn,address),其中conn是新的套接字对象,address是连接客户端的地址

  • 客户端socket函数

    s.connect(address) 连接到address处的套接字,以元祖(hsot,port)的形式表示地址,连接出错返回socket.error错误
    s.connect_ex(address) 功能与s.connect(address) ,但是成功返回0,失败返回errno的值

  • 公共socket函数

    s.recv(bufsize[,flag]) 接收TCP套接字的数据,数据以字节形式返回,bufsize指定接收的最大数据量,flag提供有关消息的其他信息,通常可以忽略
    s.send(string[,flag]) 发送TCP数据,将string中的数据发送到连接的套接字,返回值是要发送的字节数量
    s.sendall(string[],flag) 完整的发送TCP数据,返回

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!