Python编程——Socket编程

Socket

BSD Sockets API

python socket编程详细介绍 – 无名小妖 – 博客园 (cnblogs.com)

Socket类型

socket(family,type[,protocal]) # 使用给定的地址族、套接字类型、协议编号(默认为0)来创建套接字

socket.AF_INET # 服务器之间网络通信
socket.SOCK_STREAM # 流式socket , for TCP
socket.SOCK_DGRAM # 数据报式socket , for UDP

# 创建TCP Socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 

# 创建UDP Socket
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 

服务端Socket函数

s.bind(address) # 将套接字绑定到地址, 在AF_INET下,以元组(ip,port)的形式表示地址.

s.listen(backlog) # 开始监听TCP传入连接。backlog为可挂起最大连接数量,通常为5

s.accept() # 接受TCP连接并返回(conn,address),即(套接字对象,客户端的地址)

客户端Socket函数

s.connect(address) # 连接到address处的套接字,错误返回socket.error
s.connect_ex(adddress) # 同connect,但是成功返回0,失败返回error的值

公共Sock函数

# 发送TCP数据
s.send(string[,flag])
s.sendall(string[,flag]) # 完整发送TCP数据,在返回之前会尝试发送所有数据

# 接收TCP数据
s.recv(bufsize[,flag])

# 发送UDP数据
s.sendto(string[,flag],address) # address = (ip,port)

# 接收UDP数据
s.recvfrom(bufsize[.flag])

SocketServer

服务器中心类,可以简化网络服务器的开发

发表评论