我正在開發一個帶有IM功能的項目。我們用聊天消息和通知支持構建了一個自制的服務器。客戶端(iphone,android和web)與服務器建立長時間的http連接以獲得IM消息和系統通知。我們使用Apache作爲連接管理工具,但遇到CLOSE_WAIT問題。 如果我們使用開源XMPP服務器作爲openfire或ejabbered,我們可以獲得完整的IM和通知功能。但我們需要努力與XMPP服務器集成併爲Web IM提供設施。對我們的項目有什麼建議?謝謝。我們應該選擇XMPP還是自制服務器?
2
A
回答
12
在構建基於Internet的系統時,您應該始終嘗試使用標準化協議,這就是IETF在那裏的原因,以確保互操作性。
儘管偶爾有人評論說XMPP很難使用,但它實際上完全不是,它只是流式傳輸XML,因此非常具有可擴展性。看一看已經可用的圖書館列表,我相信你會在幾個小時內開始使用XMPP聊天。
在服務器上,我的建議是ejabberd高流量,Prosody易於使用,Isode是商業解決方案。
另一種選擇是使用XMPP託管提供程序,例如ProcessOne,Cleartext。
0
取決於您的需求,XMPP非常靈活,可以做的比IM更多。它也是標準化的,如果稍後需要的話,應該可以更容易地加入更多的服務。但如果你所需要的只是一個簡單的聊天室,你的登錄用戶可能會矯枉過正。另一種選擇可能是像Faye或類似的非常輕的重量。 Faye基於Node.js和Ruby/Rack,但我相信如果其他平臺不適合你,你可以找到類似的東西。
相關問題
- 1. 我們應該選擇Angular1還是Angular2?
- 2. 我們還應該使用服務器端網格還是使用Javascript網格?
- 3. Node-XMPP是無用的嗎?選擇XMPP服務器
- 4. 我應該使用OData服務器還是自定義XSJS服務實施?
- 5. 我應該使用OData還是開發自己的WCF服務?
- 6. 我應該使用asyncTask還是服務聯繫我的服務器
- 7. 我們應該需要兩臺服務器,在服務器端
- 8. 機器學習:我應該選擇分類還是推薦?
- 9. 我應該在Cloudant中使用選擇器還是視圖?
- 10. Websphere集羣:我應該使用節點還是服務器?
- 11. WEBrick:RequestURITooLarge:我應該更新還是使用不同的服務器?
- 12. 我應該做API請求服務器端還是客戶端?
- 13. 我的程序應該是應用程序還是服務?
- 14. 我應該在Erlang編寫自己的flash服務器還是使用Red5?
- 15. 什麼時候應該決定使用XMPP服務器還是僅使用WCF服務?
- 16. 我應該使用什麼樣的Android服務用於XMPP服務器
- 17. 我應該將該方法從服務移至其自己的類,還是不?
- 18. 我還應該使用TCPClient來寫服務器還是有更好的出現?
- 19. 應用程序設置...我應該選擇「漫遊」還是不?
- 20. 我應該爲我的webapp的後端選擇Java還是Javascript?
- 21. 我應該選擇什麼彗星服務器?
- 22. 我應該在Apache下選擇哪種FastCGI服務器模式?
- 23. 我們是否應該爲自動化腳本使用不同的服務器
- 24. 我們應該在我們的webapp上使用Pylons還是PHP?
- 25. 我們的數據訪問層應該位於WCF服務還是dll中?
- 26. REST API請求應該是客戶端還是服務器端?
- 27. ddd - 我的服務是域名服務還是應用服務?
- 28. IIS是Web服務器還是應用程序服務器?
- 29. Apache Tomcat是Web服務器還是應用服務器
- 30. 我應該選擇哪個應用程序服務器用於我的項目?
感謝項目名稱,即Prosody。我同意一般的想法,安裝準備服務器比開發(和調試,調試,調試)自己的(套接字)解決方案更簡單。 –