我目前正在考虑向我的站点添加一个实时通知系统,到目前为止,我的选择是使用 node.js 或带有 js XMPP 库(如 strophe.js)的 XMPP 服务器。现在我只需要它作为我网站上的实时通知系统,但它可能会演变为更复杂的功能,例如聊天系统。
所以我有以下问题:
这两种技术有何不同?
这两种技术中的哪一种“更适合”集成到在 LAMP 环境中运行的站点中。
谢谢,
如果你想使用 xmpp,那么你有 3 种服务器技术可供选择:
Jabber2 (C++)
eJabberd (Erlang)
Openfire (Java) Prosody
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 适合您。
XMPP 是一种协议。最常见的服务器实现是 ejabberd (Erlang) 和 Openfire (Java)。Web 客户端通过 BOSH(长轮询)连接。
Node.js 只是一个执行 javascript 的环境。像 socket.io 这样的东西,实际上更像是一个传输抽象层。由您来设计和实现您的通信协议。