Skip to content

python socket编程

solei1 edited this page Apr 29, 2017 · 1 revision

socket(socket_family, socket_type, protocol=0)

socket_family 可选两种类型:

  • 基于文件型,AF_UNIX或者AF_LOCAL
  • 基于网络型,AF_INET或者AF_INET6或者AF_NETLINK

AF_INET是使用最广泛的一个。 AF_INET指定使用IPv4协议,如果要用更先进的IPv6,就指定为AF_INET6。

在AF_INET中,socket_type可选三种类型:

  • SOCK_STREAM指定使用面向流的TCP协议
  • SOCK_DGRAM指定Socket的类型是UDP
  • SOCK_RAW

常用函数

函数	        描述
服务器端套接字	
s.bind()	绑定地址(主机号,端口号)到套接字
s.listen()	开始TCP监听
s.accept()	被动接受TCP客户端连接,(阻塞式)等待连接的到来
客户端套接字	
s.connect()	主动初始化TCP服务器连接
s.connect_ex()	connect()函数的扩展版本,出错时返回出错码,而不是抛出异常
公共用途的套接字函数	
s.recv()	接收TCP数据
s.send()	发送TCP数据
s.sendall()	完整发送TCP数据
s.recvform()	接收UDP数据
s.sendto()	发送UDP数据
s.close()	关闭套接字
Clone this wiki locally