2011-08-07 47 views
2

我正在開發一個帶有IM功能的項目。我們用聊天消息和通知支持構建了一個自制的服務器。客戶端(iphone,android和web)與服務器建立長時間的http連接以獲得IM消息和系統通知。我們使用Apache作爲連接管理工具,但遇到CLOSE_WAIT問題。 如果我們使用開源XMPP服務器作爲openfire或ejabbered,我們可以獲得完整的IM和通知功能。但我們需要努力與XMPP服務器集成併爲Web IM提供設施。對我們的項目有什麼建議?謝謝。我們應該選擇XMPP還是自制服務器?

回答

12

在構建基於Internet的系統時,您應該始終嘗試使用標準化協議,這就是IETF在那裏的原因,以確保互操作性。

儘管偶爾有人評論說XMPP很難使用,但它實際上完全不是,它只是流式傳輸XML,因此非常具有可擴展性。看一看已經可用的圖書館列表,我相信你會在幾個小時內開始使用XMPP聊天。

在服務器上,我的建議是ejabberd高流量,Prosody易於使用,Isode是商業解決方案。

另一種選擇是使用XMPP託管提供程序,例如ProcessOne,Cleartext。

+0

感謝項目名稱,即Prosody。我同意一般的想法,安裝準備服務器比開發(和調試,調試,調試)自己的(套接字)解決方案更簡單。 –

0

取決於您的需求,XMPP非常靈活,可以做的比IM更多。它也是標準化的,如果稍後需要的話,應該可以更容易地加入更多的服務。但如果你所需要的只是一個簡單的聊天室,你的登錄用戶可能會矯枉過正。另一種選擇可能是像Faye或類似的非常輕的重量。 Faye基於Node.js和Ruby/Rack,但我相信如果其他平臺不適合你,你可以找到類似的東西。

相關問題