【问题标题】:Real time Protocol for a web-app in PHPPHP中Web应用程序的实时协议
【发布时间】:2010-10-04 23:06:30
【问题描述】:

我正在开发一个 PHP 应用程序,我正在寻找一些可以用于实时协议的想法:

1) 在应用程序中跟踪用户状态和位置(这应该很快!!!) 2) 聊天系统。

我正在寻找诸如 FMS 及其“共享对象”之类的东西,多个用户可以在其中订阅信息片段。 FMS 对我的需要来说既昂贵又慢,我需要在每个页面上加载一个小部件,请求与 FMS 服务器的新连接等等......慢......

我需要一些快速的东西,开源将是完美的!类似于 Google Waves 用于同步共享文档的东西。

有什么建议吗?

【问题讨论】:

  • 感谢您的信息,非常有趣。在您看来,哪种技术会表现得更好?与 Flash/FMS 相比性能如何?再次感谢

标签: php protocols real-time sync


【解决方案1】:

如果您愿意用 PHP 编写此代码,我会说您正在寻找错误的技术。 PHP 和实时有 2 个主要问题。

  • 当您运行 PHP 应用程序时,它不像 Servlet 和 Java 那样具有持久性。很难并且不适合在每个连接之间进行通信。您必须使用数据库存储、流或文件在每个实例之间发送数据。所有这些方法都不是很有效。

  • 它使用阻塞 I/O,这就是它在性能和可扩展性方面受到伤害的地方。

您应该了解 Web 服务器的非阻塞 I/O 技术。它们都是事件驱动的服务器,这与 PHP 方法不同。这里有几个例子:

【讨论】:

    【解决方案2】:

    你需要 websockets 或类似的东西。

    http://www.orbited.org/

    “Orbited 允许您编写实时 Web 应用程序,例如聊天室或即时消息客户端,而无需使用 Flash 或 Java 等外部插件。它支持 JavaScript 流式网络,无需加载栏或页面刷新。”

    您可以使用 Orbited 将聊天实现为 IRC 或 Jabber。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多