所以我已经建立了一个网站,并且我需要一个comet服务器用于聊天应用程序。这个站点是用twisted.web构建的,我也想用twisted来构建comet服务器,因为我对它已经有些熟悉了。
但我不确定该怎么做。我已经研究过this post并理解了代码片段中的机制--但是我尝试过它,页面需要很长时间才能加载,当它加载时,它已经充满了时间,然后继续添加它们。
我的想法是,我会让它作为一个单独的进程运行,然后在另一个进程上运行我的扭曲站点。扭曲站点中的页面将有一个对comet服务器的ajax调用,该服务器将等待响应。但是,响应需要很长时间才能像页面加载那样返回吗?
comet服务器如何最好地从网站服务器获取数据?它不会只是轮询网站,或者我可能没有comet服务器--我是否会在comet服务器的GET处理程序中放置一个无限循环,并让网站调用它并中断?comet服务器和网站如何共享数据?例如,comet服务器如何知道用户的会话数据--他们是谁,他们在等待什么,它可以发送给他们什么?
另外,我不确定这一点,但是我必须将线程集成到comet服务器中吗,或者它已经是多线程了吗?
发布于 2010-08-08 10:00:11
您可以使用Orbited (这是一个基于Twisted的comet服务器),并在与web服务器相同的进程中运行它。它相当的圆滑。而不是使用它的内置代理,您只需直接使用它的内部。你可以这样做:
from orbited.cometsession import Port
...
reactor.listenWith(Port, factory=someFactoryYouWrote, resource=someResourceYouWrote, childName='tcp')https://stackoverflow.com/questions/3432452
复制相似问题