socket模块

2018-11-27 08:31:04来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

一、socket类型

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

二、socket方法

1. 服务端socket方法:

socket方法 描述
s.bind(address)  将套接字绑定到地址,在AF_INET下,以元组(host, port)的形式表示地址
s.listen(backlog)

 开始监听TCP传入连接。backlog指定在拒绝连接之前,操作系统可以挂起的最大连接数量。该值至少为1,大部分应用程序设为5就

可以了

s.accept()  接受TCP连接并返回(conn, address),其中conn是新的套接字对象,可以用来接收和发送数据。address是连接客户端的地址

 2. 客户端socket方法:

socket方法 描述
s.connect(address)   连接到address处的套接字。一般address的格式为元组(hostname, port),如果连接出错,返回socket.error错误。
s.connext_ex(address) 功能与connect(address)相同,但是成功返回0,失败返回errno的值

3. 公共socket方法:

socket方法 描述
s.recv(bufsize[,flag)

接受TCP套接字的数据。数据以字符串形式返回,bufsize指定要接收的最大数据量。flag提供有关消息的其他信息,通常可以忽

略。

s.send(string[,flag)  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python爬虫之Urllib库的基本使用

下一篇:python之变量与常量