用多线程帮我写个socket接收,方法
时间: 2023-12-21 14:07:20 浏览: 84
好的,以下是一个简单的 Python 多线程 socket 接收程序:
```python
import socket
import threading
def handle_client(client_socket):
while True:
# 接收数据
data = client_socket.recv(1024)
if not data:
break
# 处理数据
print(data.decode())
# 关闭客户端连接
client_socket.close()
def main():
# 创建套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定监听地址和端口
server_socket.bind(('127.0.0.1', 8888))
# 开始监听
server_socket.listen(5)
print('服务器已启动,等待客户端连接...')
while True:
# 接受客户端连接
client_socket, client_address = server_socket.accept()
print('客户端已连接:', client_address)
# 创建线程处理客户端请求
client_thread = threading.Thread(target=handle_client, args=(client_socket,))
client_thread.start()
if __name__ == '__main__':
main()
```
这个程序创建了一个多线程的服务器,接收客户端发送的数据并输出到控制台。当有新的客户端连接时,程序会创建一个新的线程来处理该客户端的请求。在该程序中,`handle_client` 函数用于处理客户端请求,`main` 函数用于创建服务器并接收客户端连接。
阅读全文