【问题标题】:Building a comet server from twisted.web, for a twisted.web site从 twisted.web 构建一个彗星服务器,用于一个 twisted.web 站点
【发布时间】:2010-08-07 23:29:38
【问题描述】:

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

但我不知道该怎么做。我查看了this post 并了解了代码 sn-p 中的机制——但我尝试了它,页面需要 AGES 才能加载,当它加载时,它已经充满了时间,然后继续添加它们。

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

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

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

【问题讨论】:

    标签: python comet twisted.web


    【解决方案1】:

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

    from orbited.cometsession import Port
    ...
    reactor.listenWith(Port, factory=someFactoryYouWrote, resource=someResourceYouWrote, childName='tcp')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-23
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多