【问题标题】:Using ejabberd for in-browser chat使用 ejabberd 进行浏览器内聊天
【发布时间】:2012-04-21 05:26:51
【问题描述】:

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

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

【问题讨论】:

标签: node.js chat tornado ejabberd livechat


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    ejabberd 和 XMPP 通常与 Web 技术和基于 Javascript 的客户端配合得很好。

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

    • 基于 Websocket 的 XMPP 是最现代的方法。 ejabberd 原生支持它。这意味着您可以创建一个基于浏览器的 XMPP 客户端来连接到 ejabberd。
    • BOSH 上的 XMPP。这是对 HTTP 协议的请求-响应性质的 XMPP 连接性质的模拟。这意味着您仍然可以为不支持 Websockets 的浏览器做 XMPP 聊天客户端。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 2018-06-05
      • 2015-11-05
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      相关资源
      最近更新 更多