【问题标题】:implement comet with php driven website用php驱动的网站实现comet
【发布时间】:2009-10-27 21:29:35
【问题描述】:

我想知道是否有人可以用一些简单的术语解释我如何得到 从彗星开始。我在共享主机环境中。

我的可能性究竟是什么?

从我到目前为止所读到的内容来看,php 不是最好的选择。因为它是 每个请求作为一个进程运行,而不是在线程外运行。 另一方面,他们谈论套接字。

我还阅读了有关 facebook 的信息,他们在那里运行自己的用 erlang 编写的彗星服务器,但他们仍然有一个 php 网站。那么这究竟是如何工作的呢?

我现在已经阅读了很多东西,但是对于实际可能的情况仍然有点模糊 在我的情况下。运行作为彗星服务器客户端的 php 脚本?这并不是说它如何保持持久的开放连接! (只是从其他帖子中扔了一些cmets)

谢谢,理查德

【问题讨论】:

  • 也检查my question...
  • 谢谢,没有阅读其中的所有链接。它建议在网络服务器上进行一些配置。我不知道你必须走多远,但我在共享主机上。在这方面我的选择是有限的,我想。在旁注中,您是否已将所有内容都启动并运行到您满意的程度?
  • 我在自己的服务器环境中尝试过流星并且工作正常,无法尝试其他的,但就我从其他 cmets 获得的信息而言,您需要在您的页面上进行聊天,因为您不需要拥有彗星只是经常打电话并收集响应并在浏览器上更新您的聊天消息。这听起来像流量密集型操作,但如果它是一个低流量的网页,它不会产生太大的影响。

标签: php comet shared-hosting


【解决方案1】:

您可以使用 PHP 来重现 Comet 行为。就像你说的那样,PHP 不是最佳选择,因为仍然存在很多内存管理问题。

但是对于小规模目的(低流量)PHP 可以正常工作。

网络上有很多关于 Comet 以及如何将它与 Python 或 Erlang 等语言一起使用的信息(特别好,因为它具有最佳的并发行为,但坦率地说,我对此知之甚少)。

如果您想试用 Python,有一个关于 SO 的好问题/答案: Python Comet Server

【讨论】:

  • Facebook 的 gui 是用 PHP 编写的(他们可能只使用模板引擎),但这并不意味着他们的聊天工具就是这样。您可以使用最适合该工作的语言,他们选择了 Erlang,您可以选择其他任何语言,您不必重写您的网站。
  • 谢谢,这就是为什么我把 facebook 评论放在里面,因为这似乎与关于 php 的普遍看法相矛盾。另一件事是使用关闭闪光灯,但这并不是我真正想要追求的。如果你说其他语言,那就意味着我用另一种语言重写了整个 php-mysql 网站,或者不是?
  • 对不起,我现在很困惑。所以要求一个 php 脚本打开一个持久的连接不是要走的路,因为 php 引擎没有针对这种关闭使用进行优化。那么,是否可以进行ajaxcall 以某种方式到达cometserver,并避免使用php?换句话说,跳到一些 java 或 python 脚本。好吧,现在我正式不知道我在说什么了。您如何获得其他语言并在 php 站点中使用它?
  • 如果我正在构建一个聊天系统,我想我不会想以 FB 作为我的目标。相对于网站上的其他功能,他们的聊天实现出人意料地被打破了
【解决方案2】:

一个简单的解决方案是找到一家 SaaS comet 提供商,例如我们在 Frozen Mountain 托管的 WebSync On-Demand。基本上,它允许您使用我们的服务器(运行 WebSync + IIS)来处理长期连接,但允许您通过 PHP 发布消息,并在 PHP 中预处理您的消息。如果您要同时拥有

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    相关资源
    最近更新 更多