【问题标题】:node.js, XMPP Strophe.jsnode.js, XMPP Strophe.js
【发布时间】:2012-03-16 04:17:41
【问题描述】:

我目前正在考虑向我的站点添加一个实时通知系统,到目前为止,我的选择是使用 node.js 或带有 js XMPP 库(如 strophe.js)的 XMPP 服务器。 现在我只需要它来实现我网站上的实时通知系统,但它可能会演变为更复杂的功能,例如聊天系统。

所以我有以下问题:

  1. 这两种技术有何不同?

  2. 这两种技术中的哪一种“更适合”集成到在 LAMP 环境中运行的站点中。

谢谢,

【问题讨论】:

    标签: node.js xmpp strophe


    【解决方案1】:

    如果您想使用 xmpp,那么您有 3 种服务器技术可供选择:

    Jabber2 (C++)
    eJabberd (Erlang)
    Openfire (Java)
    韵律 IM (Lua)

    因此,如果您想开发一些独特的服务器端功能,您应该具备 C++、erlang、java 或 lua 方面的技能。我使用 openfire 是因为我熟悉 java。 Openfire 还提供了很好的插件系统。但是,如果您只想在您的网站上进行一些聊天,那么您可以在您的服务器计算机上设置这些 XMPP 服务器之一,之后您唯一需要做的就是使用 strophe.js 编写一些浏览器端功能(即很简单)。

    如果您不想使用 c++、ejabberd、java、lua,并且您仍然需要一些服务器端功能,请使用 node.js。

    xmpp 和 node.js 聊天应用程序都可以很容易地与 LAMP 网站集成(您只需要修改您的网站 javascript,不需要 php 代码),但如果您更喜欢 LAMP 技术,我敢打赌 node.js 是正确的给你。

    【讨论】:

    • prosody (prosody.im) 是第四个选项,效果很好,并且可能是四个选项中最容易设置的一个
    • @MattZukowski:谢谢,添加到答案中
    【解决方案2】:

    XMPP 是一种协议。最常见的服务器实现是 ejabberd (Erlang) 和 Openfire (Java)。 Web 客户端通过 BOSH(长轮询)连接。

    Node.js 只是一个执行 javascript 的环境。像 socket.io 这样的东西,实际上更像是一个传输抽象层。由您来设计和实施您的通信协议。

    【讨论】:

      猜你喜欢
      • 2016-05-12
      • 2013-01-11
      • 1970-01-01
      • 1970-01-01
      • 2013-01-15
      • 2012-05-23
      • 1970-01-01
      • 2014-08-11
      • 2011-11-24
      相关资源
      最近更新 更多