使用ejabberd进行浏览器内聊天

时间:2012-04-21 05:26:51

标签: node.js chat tornado ejabberd livechat

ejabberd聊天服务器是否可以与node.js / tornado / socket.io等可扩展的快速服务器技术集成,以实现浏览器内聊天?

在这种情况下,ejabberd服务器可能在后端运行,而前端可以使用node.js / socket.io等与客户端浏览器通信。所有聊天消息都需要通过ejabberd服务器进行路由。与直接以传统方式直接使用ejabberd相比,这一切是否有意义且是否足够可扩展?

2 个答案:

答案 0 :(得分:0)

我没有看到在您的架构中添加组件的好处。

总的来说,ejabberd和XMPP在网络技术和基于Javascript的客户端方面表现良好。

您可以使用两种主要技术:

  • XMPP over Websocket是最现代的方法。它由ejabberd本地支持。这意味着您可以创建基于浏览器的XMPP客户端以连接到ejabberd。
  • XMPP over BOSH。这是对HTTP协议的请求 - 响应性质的XMPP连接性质的仿真。这意味着您仍然可以为不支持Websockets的浏览器执行XMPP聊天客户端。

Javascript XMPP库通常支持Websockets和BOSH。例如,您可以查看Strophe来实现您的Javascript Web客户端。

答案 1 :(得分:0)

Wny不使用在浏览器内运行的现有Candy客户端(http://candy-chat.github.com/candy/),对后端ejabberd服务器?