我们正在使用 Tornado 实现一个聊天服务器。
前提很简单,用户打开到 Tornado 服务器的 HTTP ajax 连接,并且 Tornado 服务器只有在聊天室中出现新消息时才会响应。每当连接关闭时,无论是否有新消息进入或发生错误/超时,客户端都会重新打开连接。
看看 Tornado,问题就出现了,我们可以使用什么库来让这些调用等待某个会向它们发出信号的中心对象 - A_NEW_MESSAGE_HAS_ARRIVED_ITS_TIME_TO_SEND_BACK_SOME_DATA
.
为了用 Win32 术语来描述这一点,每个异步调用都将表示为一个线程,该线程将挂在WaitForSingleObject(...)
某个中央 Mutex/Event/etc 上。
我们将在标准的 Python 环境(Tornado)中运行,有没有内置的东西可以使用,我们是否需要外部库/服务器,有什么 Tornado 推荐的吗?
谢谢