2012-03-16 98 views
1

我目前正在考慮將實時通知系統添加到我的網站,到目前爲止,我的選擇是使用node.js或帶有js XMPP庫的XMPP服務器,如strophe.js。 現在我只需要它在我的網站上實時通知系統,但它可能會在更復雜的功能(如聊天系統)中變得更加靈活。node.js,XMPP Strophe.js

所以我有以下問題:

  1. 如何將這些技術2的不同?

  2. 這2種技術中的哪一種更適合集成在LAMP環境中運行的站點上。

感謝,

回答

0

如果你想使用XMPP那麼你有3個選擇服務器技術的使用方法:

Jabber2(C++)
eJabberd(二郎)
的Openfire(Java的)
Prosody IM(Lua)

所以如果你想開發一些獨特的服務器端功能,你應該有一些sk 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是正確的給你的東西。

+1

韻律(http://prosody.im)是第4個選項,效果很棒,並且可能是四個設置中最簡單的 – 2012-04-04 17:52:16

+0

@MattZukowski:thnx,添加到答案中 – tsds 2012-04-05 06:32:35

0

XMPP是一個協議。最常見的服務器實現是ejabberd(Erlang)& Openfire(Java)。 Web客戶端通過BOSH(長輪詢)進行連接。

Node.js只是一個JavaScript執行環境。像socket.io,實際上更像是一個傳輸抽象層。這取決於你設計&實現你的通信協議。