需要开发一个 PHP - 基于 Jabber 的聊天工具

Posted

技术标签:

【中文标题】需要开发一个 PHP - 基于 Jabber 的聊天工具【英文标题】:Need to develop a PHP - Jabber based chat 【发布时间】:2012-04-15 06:13:24 【问题描述】:

我正在尝试使用 php 开发基于 Web 的聊天系统。我使用 jQuery 和 PHP 的组合创建了一个,但此设置使用大量网络带宽,因为它不断发送/接收数据以检查是否已收到新消息(当前每 1 秒)。所以我需要开发一个系统,一旦收到来自另一端的消息就会自动显示消息,而不需要向服务器发送请求来查看是否收到了新消息。

我在很多地方读到,这可以使用 Jabber 完成。我对这种 Jabber 技术真的很陌生,所以任何使用 PHP 创建基于 Jabber 的新聊天的帮助将不胜感激。

【问题讨论】:

*** 是针对特定问题的,而不是模糊的建议。尝试自己做一些事情,然后在遇到具体问题时再回来。 研究长轮询。这可能很棘手,可能需要您学习 Node.js 才能控制此功能,但会大大减少带宽使用量。 @Corbin 谢谢!我正在努力。如果我遇到任何问题,会告诉你具体问题。 我是网络套接字的忠实粉丝。我自己将它用于一个不错的聊天客户端和其他一些网络应用程序。 @cilosis 谢谢!我正在研究你的建议.. 【参考方案1】:

Jabber(也称为 XMPP)更像是一种协议,因此它并不是您真正需要的解决方案。

html 5 Web 套接字是实现这一目标的一项伟大的新技术。服务器可以将新消息“推送”到浏览器,而不是轮询以查看是否有任何消息。

客户端代码是 javascript。服务器端可以是任何实现 Web 套接字协议的东西。可能有一些 PHP 库可以编写服务器端代码,但我已经使用 EventMachine 和 em-websocket 编写了一些 Ruby Web 套接字服务器。

【讨论】:

以上是关于需要开发一个 PHP - 基于 Jabber 的聊天工具的主要内容,如果未能解决你的问题,请参考以下文章

jabber - 创建房间

通过 Python 获取 Jabber 状态

需要帮助了解聊天、XMPP、jabber id 等

Cocoa 中基于 Jabber 的服务器和客户端应用程序

Jabber 服务器不回复客户端最终消息

Webmessenger、IM、聊天客户端 - 基于 Jabber? (如 Facebook)[关闭]