0

我们正在使用 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 推荐的吗?

谢谢

4

2 回答 2

2

我正在研究开发聊天应用程序的最佳选择,并且也在研究龙卷风。这篇粗略的剪辑构建实时用户体验有一章是关于使用 Tornado 构建聊天应用程序的,这可能对您有用。祝你好运:)

于 2010-02-16T01:41:55.500 回答
0

Tornado 有一个使用长轮询的“聊天”示例。它包含您需要的一切(或者实际上,可能比您需要的更多,因为它包括第 3 方登录)

于 2010-05-08T18:04:36.643 回答