美食网站建设方案,做网站_没内容,wordpress chinacd,公众号运营技巧以下是一个基于Python的TCP应用案例#xff0c;包含服务器端和客户端的完整代码#xff1a; 1. TCP服务器端#xff08;Server#xff09;
功能#xff1a;接收客户端发送的英文消息#xff0c;转为大写后返回。
import socketdef tcp_server():# 创建TCP socketserver…以下是一个基于Python的TCP应用案例包含服务器端和客户端的完整代码 1. TCP服务器端Server
功能接收客户端发送的英文消息转为大写后返回。
import socketdef tcp_server():# 创建TCP socketserver_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # 防止端口占用# 绑定IP和端口server_address (127.0.0.1, 8888)server_socket.bind(server_address)# 监听连接server_socket.listen(1)print(TCP服务器已启动等待客户端连接...)try:while True:# 接受客户端连接client_socket, client_address server_socket.accept()print(f客户端 {client_address} 已连接)try:while True:# 接收数据最大1024字节data client_socket.recv(1024).decode(utf-8)if not data:print(f客户端 {client_address} 断开连接)breakprint(f收到消息: {data})# 转为大写并发送回客户端response data.upper()client_socket.send(response.encode(utf-8))except ConnectionResetError:print(客户端异常断开)finally:client_socket.close()except KeyboardInterrupt:print(服务器关闭)finally:server_socket.close()if __name__ __main__:tcp_server()2. TCP客户端Client
功能连接服务器后从控制台输入英文消息接收服务器返回的大写结果。
import socketdef tcp_client():# 创建TCP socketclient_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 连接服务器server_address (127.0.0.1, 8888)client_socket.connect(server_address)print(已连接到服务器输入消息或输入 exit 退出)try:while True:# 从控制台输入消息message input(请输入英文: )if message.lower() exit:break# 发送消息到服务器client_socket.send(message.encode(utf-8))# 接收服务器响应response client_socket.recv(1024).decode(utf-8)print(f服务器返回: {response})finally:client_socket.close()print(连接已关闭)if __name__ __main__:tcp_client()运行步骤
启动服务器先运行服务器端代码python server.py它会一直等待客户端连接。启动客户端再运行客户端代码python client.py输入英文消息后服务器会返回大写版本。 示例交互
# 客户端控制台
请输入英文: hello world
服务器返回: HELLO WORLD
请输入英文: python
服务器返回: PYTHON
请输入英文: exit
连接已关闭# 服务器控制台
TCP服务器已启动等待客户端连接...
客户端 (127.0.0.1, 12345) 已连接
收到消息: hello world
收到消息: python
客户端 (127.0.0.1, 12345) 断开连接关键点说明
端口号示例使用8888需确保未被占用。异常处理捕获ConnectionResetError处理客户端异常断开。退出机制客户端输入exit主动退出循环。字节流处理TCP传输的是字节流需用encode()/decode()转换字符串。
这个案例展示了TCP协议的核心功能可靠的双向通信。你可以在此基础上扩展更多功能如多线程处理多个客户端。