Python套接字服务器:监听多个客户端

时间:2012-06-05 15:13:43

标签: python sockets

我必须收听传入的连接,但同时我必须从已连接的客户端收到消息。但是listen(1)使套接字等待,所以我无法接收它们。该怎么办? (我必须在客户端发送消息后立即收到消息)

1 个答案:

答案 0 :(得分:1)

简而言之,您有3个主要选项:

  1. 在每个客户端打开一个线程,在accept()之后生成,并在此上下文中运行一个循环,read() => .... => write()

  2. 在每个select()之后运行一个在客户端上使用accept()的主循环,并自行处理调度。

  3. 最佳选择 - 使用异常网络框架,例如tornadogeventtwisted或其他一些,以便透明地处理此问题。