阅读量:0
在 socket_recv
函数中实现多线程应用可以通过创建多个线程来同时接收数据,从而提高数据接收的效率。以下是一个简单的示例代码:
import socket import threading def socket_recv(client_socket): while True: data = client_socket.recv(1024) if not data: break print(f"Received: {data.decode()}") def main(): server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind(('127.0.0.1', 8888)) server_socket.listen(5) while True: client_socket, client_address = server_socket.accept() print(f"Connection from {client_address}") # 创建一个新的线程来处理客户端数据接收 recv_thread = threading.Thread(target=socket_recv, args=(client_socket,)) recv_thread.start() if __name__ == "__main__": main()
在上面的示例中,socket_recv
函数用于接收客户端发送的数据,并创建一个新的线程来处理数据接收的过程。在 main
函数中,通过循环接受客户端连接,并为每个客户端连接创建一个新的线程来处理数据接收。这样可以实现多个客户端同时进行数据传输,提高系统的并发处理能力。