# === TCP 服务端程序 server.py ===# 导入socket 库from socket import *# 主机地址为空字符串,表示绑定本机所有网络接口ip地址# 等待客户端来连接IP = ''# 端口号PORT = 50000# 定义一次从socket缓冲区最多读入512个字节数据BUFLEN = 512# 实例化一个socket对象# 参数 AF_INET 表示该socket网络层使用IP协议# 参数 SOCK_STREAM 表示该socket传输层使用TCP协议listenSocket = socket(AF_INET, SOCK_STREAM)# socket绑定地址和端口listenSocket.bind((IP, PORT))# 使socket处于监听状态,等待客户端的连接请求# 参数 8 表示 最多接受多少个等待连接的客户端listenSocket.listen(8)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()关闭socketdataSocket.close()listenSocket.close()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。