python socket 多线程通信
时间: 2023-12-16 19:05:26 浏览: 106
Python中使用socket进行多线程通信的方法如下所示:
```python
import socket
import threading
# 定义一个处理客户端请求的函数
def handle_client(client_socket, addr):
# 接收客户端发送的数据
request_data = client_socket.recv(1024)
# 处理客户端请求的数据
response_data = "Hello, World!"
# 向客户端发送响应数据
client_socket.send(response_data.encode())
# 关闭客户端套接字
client_socket.close()
# 创建一个TCP套接字对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
server_socket.bind(('127.0.0.1', 8888))
# 开始监听客户端连接请求
server_socket.listen(5)
while True:
# 等待客户端连接
client_socket, addr = server_socket.accept()
# 创建一个新的线程来处理客户端请求
client_thread = threading.Thread(target=handle_client, args=(client_socket, addr))
client_thread.start()
```
上述代码中,我们首先定义了一个处理客户端请求的函数`handle_client`,然后创建了一个TCP套接字对象`server_socket`,并绑定IP地址和端口号,开始监听客户端连接请求。在主循环中,我们等待客户端连接,然后创建一个新的线程来处理客户端请求,最后启动线程。在`handle_client`函数中,我们接收客户端发送的数据,处理客户端请求的数据,向客户端发送响应数据,最后关闭客户端套接字。
阅读全文