-2

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

4

1 回答 1

1

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

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

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

  3. 最佳选择 - 使用异步网络框架,如,tornado或更多来透明地处理此问题。geventtwisted

于 2012-06-05T15:17:21.507 回答