Socket 套接字
用于描述ip地址和端口,是一个通信链的句柄,应用程序通常通过“套接字”向网络发出请求或者应答网络请求。
socket模块是针对服务器端和客户端Socket进行【打开】【读写】【关闭】
最简单的代码范例:
服务器端:
import socket #服务器端 ip_port = ('127.0.0.1',9999)#声明IP地址端口 sk = socket.socket()#生成socket句柄 sk.bind(ip_port)#绑定IP端口,以元组传入 sk.listen(5)#监听,最大允许连接5个 while True: print('sever waiting...') conn,addr = sk.accept() #服务器端会把客户端发过来的IP地址和端口生成一个实例(阻塞)。这个实例只为这个客户端服务。返回两个值 #返回两个值,conn是为客户端生成的实例,只为这个客户端服务 addr是客户端地址。 client_data = conn.recv(1024)#通过调用这个实例recv数据.参数是每次收取的数据大小 print(client_data) conn.sendall('发回一句话') #这个时候客户端也要recv收取 conn.close()客户端: import socket #客户端 ip_port = ('127.0.0.1',9999) sk = socket.socket() #生成一个socket句柄 sk.connect(ip_port) #连接ip和端口 sk.sendall(bytes('发过去一句话','utf8')) #3.o后要发比特数据和编码 server_reply = sk.recv(1024) #接收到服务端发来那句话 print(str(server_reply,'utf8')) sk.close()服务端在每完成一个链接后进入等待,客户端每完成一次链接后会关闭