Python 提供了两个基本的 socket 模块:
Socket它提供了标准的BSD Socket API。
SocketServer它提供了服务器重心,可以简化网络服务器的开发。
下面讲解下 Socket模块功能。
Socket 类型
套接字格式:socket(family, type[,protocal]) 使用给定的套接族,套接字类型,协议编号(默认为0)来创建套接字
创建TCP Socket:
sock= socket.socket(socket.AF_INET, socket.SOCK_STREAM)
创建UDP Socket:
sock= socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
Socket 函数
TCP发送数据时,已建立好TCP链接,所以不需要指定地址,而UDP是面向无连接的,每次发送都需要指定发送给谁。
服务器与客户端不能直接发送列表,元素,字典等带有数据类型的格式,发送的内容必须是字符串数据。
服务器端 Socket 函数
客户端 Socket 函数
公共 Socket 函数
Socket 编程思想
TCP 服务器 1、创建套接字,绑定套接字到本地IP与端口
s= socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind()
2、开始监听链接
s.listen()
3、进入循环,不断接受客户端的链接请求
WhileTrue:
s.accept()
4、接收客户端传来的数据,并且发送给对方发送数据
s.recv()
s.sendall()
5、传输完毕后,关闭套接字
s.close()
TCP 客户端 1、创建套接字并链接至远端地址
s= socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect()
2、链接后发送数据和接收数据
s.sendall()
s.recv()
3、传输完毕后,关闭套接字
Server端socket:
Client端: