一个简单的socket信息收发案例,实现客户端发送,服务的接收之间通信功能
一.准备
1.服务端的程序准备
# TCP 客户端程序 client.pyfrom from socket import * IP = '127.0.0.1' PORT = 30000 BUFLEN = 512 #实例化一个socket对象 #参数AF INET表示该socket网络层使用IP协议 #参数SOCK STREAM表示该socket传输层使用tCp协议 listenSocket=socket(AF_INET,SOCK_STREAM) #socket绑定地址和端口 listenSocket.bind((IP,PORT)) #使socket处于监听状态,等待客户端的连接请求 #参数5表示最多接受多少个等待连接的客户端 listenSocket.listen(5) print(f'服务端启动成功,在(PORT)端口等待客户端连接,,') dataSocket,addr= listenSocket.accept() print('接受一个客户端连接:',addr) while True: #尝试读取对方发送的消息 #BUFLEN指定从接收缓冲里最多读取多少字节 recved=dataSocket.recv(BUFLEN) #如果返回空bytes,表示对方关闭了连接 #退出循环,结束消息收发 if not recved: break #读取的字节数据是bytes类型,需要解码为字行串 info=recved.decode() print(f'收到对方信息:{info})') #发送的数据类型必须是bytes,所以要编码 dataSocket.send(f'服务端接收到了信息{info}'.encode()) #服务端也调用close()关闭socket dataSocket.close(