python实现网络多连接_python实现socket+threading处理多连接的方法
时间: 2024-01-05 16:02:29 浏览: 74
实现网络多连接可以使用Python中的socket和threading模块。下面是一个简单的例子:
```python
import socket
import threading
def handle_client(conn, addr):
while True:
data = conn.recv(1024)
if not data:
break
print("Received data from", addr, ":", data.decode())
conn.close()
def main():
host = '0.0.0.0'
port = 8000
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((host, port))
server.listen()
print("Server listening on port", port)
while True:
conn, addr = server.accept()
print("New client connected:", addr)
client_thread = threading.Thread(target=handle_client, args=(conn, addr))
client_thread.start()
if __name__ == '__main__':
main()
```
在这个例子中,我们创建了一个socket对象并绑定到本地主机的8000端口。然后我们使用server.accept()方法来等待客户端连接。一旦有客户端连接,我们就创建一个新的线程来处理与该客户端的通信,我们使用handle_client函数来处理这个连接。在handle_client函数中,我们使用conn.recv()方法来接收客户端发送的数据,并使用print语句来输出接收到的数据。如果没有数据接收到,我们就关闭连接。在主程序中,我们使用while循环来持续监听客户端连接。
阅读全文