Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我必须收听传入的连接,但同时我必须接收来自已连接客户端的消息。但是listen(1)让套接字等待,所以我无法接收它们。该怎么办?(我必须在客户端发送消息后立即获取消息)
listen(1)
简而言之,您有 3 个主要选择:
每个客户端打开一个线程,在你之后产生accept(),并在这个上下文中运行一个循环,这样做read() => .... => write()
accept()
read() => .... => write()
select()在 for each之后运行一个在客户端上使用的主循环accept(),并自己处理调度。
select()
最佳选择 - 使用异步网络框架,如,tornado或更多来透明地处理此问题。geventtwisted
tornado
gevent
twisted