Xmpp 构建基于Web的即时消息的最佳方法?

Xmpp 构建基于Web的即时消息的最佳方法?,xmpp,Xmpp,想建立一个类似www.chatzy.com的基于web的即时消息系统吗 问题是什么是最好的解决方法 按照Ajax的方式,我写了一个脚本,不断地ping和更新数据库以进行u会话 还是和XMPP一起玩 如果答案是XMPP?如果有任何指向任何在线资源的指针,详细说明如何使用XMPP构建此类服务,我将不胜感激……(通过谷歌进行了一些搜索,但结果很流行) 我会使用PHP,但也可以使用Python,如果它能提供更好的解决方案来实现这一点的话 谢谢使用AJAX ping和更新数据库不是一个很好的选择 我建议你

想建立一个类似www.chatzy.com的基于web的即时消息系统吗 问题是什么是最好的解决方法

按照Ajax的方式,我写了一个脚本,不断地ping和更新数据库以进行u会话

还是和XMPP一起玩

如果答案是XMPP?如果有任何指向任何在线资源的指针,详细说明如何使用XMPP构建此类服务,我将不胜感激……(通过谷歌进行了一些搜索,但结果很流行)

我会使用PHP,但也可以使用Python,如果它能提供更好的解决方案来实现这一点的话


谢谢使用AJAX ping和更新数据库不是一个很好的选择

我建议你读一下。这就是GMAIL聊天的工作方式。

XMPP/BOSH
  • 现在我将使用XMPP/BOSH来编写基于web的IM。我找到了最容易支持的服务器。那么您根本不需要编写任何服务器端代码
  • 那么对于javascript,我将使用
未来
  • 正如巴勃罗指出的,你可以看看WebSocket。但巴勃罗对gmail的看法是错误的。它不使用WebSocket。WebSocket的主要缺点是支持浏览器。这是未来,但不是现在
  • 轮询不能扩展。我不推荐

如果您希望使用PHP和little javascript进行开发,请检查用于构建web应用程序的Jaxl框架

使用ejabberd/prosody作为jabber服务器,它们足够稳定和可扩展,可以为您提供足够的吞吐量


当然推荐使用websockets,但遗憾的是,到目前为止,并非所有浏览器都支持它。

如果您想允许用户向网络之外的其他人发送消息(因此不仅仅是聊天),您一定要使用XMPP。请记住,websockets协议仍有可能更改。而且现在还没有很多浏览器支持它(只是最前沿的),所以你需要使用某种回退方式:通常情况下,这是一种方式。我们使用ejabberd作为服务器,它还支持开箱即用的BOSH。我们还基于Strophe编写了自己的javascript客户机,但如果您想要现成的客户机,这看起来是一个不错的选择。