我需要在 Python 中开发一个应用程序,并行处理数千个持久 TCP 连接。客户端在引导时连接到服务器并不时发送一些消息(二进制格式)。服务器还发送回复客户端消息和异步一些其他二进制消息。基本上它是由客户端发起的持久连接,因为我无法访问 NAT 后面的客户端。
问题是:我将为此任务考虑哪些库/框架。为每个客户端生成一个线程不是一种选择。我不知道 python 的线程池库。我最近还发现了 gevent。我还有哪些其他选择?
我需要在 Python 中开发一个应用程序,并行处理数千个持久 TCP 连接。客户端在引导时连接到服务器并不时发送一些消息(二进制格式)。服务器还发送回复客户端消息和异步一些其他二进制消息。基本上它是由客户端发起的持久连接,因为我无法访问 NAT 后面的客户端。
问题是:我将为此任务考虑哪些库/框架。为每个客户端生成一个线程不是一种选择。我不知道 python 的线程池库。我最近还发现了 gevent。我还有哪些其他选择?
'greenlets' 是一个轻量级的并发包。请参阅http://greenlet.readthedocs.org/en/latest/。此外greenlets
,您可能还需要考虑multiprocessing
。请参阅http://docs.python.org/2/library/multiprocessing.html。