0

所以我已经建立了一个网站,我需要一个用于聊天应用程序的彗星服务器。该站点是用twisted.web 构建的,我也想用twisted 构建彗星服务器,因为我已经有点熟悉它了。

但我不知道该怎么做。我已经看过这篇文章并理解了代码片段中的机制——但我试过了,页面需要 AGES 才能加载,当它加载时,它已经充满了时间,然后继续添加它们。

我对它如何工作的想法是,我会将它作为一个单独的进程运行,然后在另一个上运行我的扭曲站点。扭曲站点中的页面将对彗星服务器进行 ajax 调用,该服务器将等待响应。但是该响应会像页面加载那样需要很长时间才能返回吗?

彗星服务器如何最好地从网站服务器获取数据?它不仅会轮询网站,或者我也可能没有彗星服务器——我是否会在彗星服务器的 GET 处理程序中放置一个无限循环,让网站调用它并中断?彗星服务器和网站将如何共享数据?比如,comet 服务器如何知道用户会话数据的任何信息——他们是谁,他们在等待什么,它可以发送给他们什么?

另外,我不确定这一点,但我是否必须将线程合并到彗星服务器中,还是已经是多线程的?

4

1 回答 1

1

您可以使用 Orbited(基于 Twisted 的彗星服务器)并在与您的 Web 服务器相同的进程中运行它。它很光滑。您无需使用其内置代理,而是直接使用它的胆量。你会做这样的事情:

from orbited.cometsession import Port
...
reactor.listenWith(Port, factory=someFactoryYouWrote, resource=someResourceYouWrote, childName='tcp')
于 2010-08-08T02:00:11.073 回答