socket多客户端与一个服务器多线程python代码
时间: 2023-04-08 17:00:24 浏览: 123
我可以回答这个问题。以下是一个简单的Python代码示例,用于实现socket多客户端与一个服务器多线程:
```python
import socket
import threading
# 服务器IP和端口号
SERVER_IP = '127.0.0.1'
SERVER_PORT = 8888
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP和端口号
server_socket.bind((SERVER_IP, SERVER_PORT))
# 监听客户端连接
server_socket.listen()
# 处理客户端请求的函数
def handle_client(client_socket, client_address):
print(f'客户端 {client_address} 已连接')
while True:
# 接收客户端发送的数据
data = client_socket.recv(1024)
if not data:
break
# 处理数据
print(f'收到来自客户端 {client_address} 的消息:{data.decode()}')
# 发送响应数据
client_socket.send(f'已收到您的消息:{data.decode()}'.encode())
# 关闭客户端连接
client_socket.close()
print(f'客户端 {client_address} 已断开连接')
# 处理客户端连接的线程函数
def handle_client_thread():
while True:
# 接受客户端连接
client_socket, client_address = server_socket.accept()
# 创建新线程处理客户端请求
client_thread = threading.Thread(target=handle_client, args=(client_socket, client_address))
client_thread.start()
# 启动服务器
print(f'服务器已启动,监听IP:{SERVER_IP},端口号:{SERVER_PORT}')
handle_client_thread()
```
这个代码示例实现了一个简单的socket服务器,可以同时处理多个客户端连接,并且为每个客户端连接创建一个新的线程来处理请求。
阅读全文