socket模块

一、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)  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
posted @ 2018-11-26 17:02  Ethan_Y  阅读(197)  评论(0)    收藏  举报