我正在爲基於Java的移動Web應用程序編寫後端,我想知道可擴展性和易用性是什麼,使用WebSockets與像Comet這樣的Long-Polling解決方案。另一種選擇是使用TCP來實現我自己的解決方案。從我讀過的內容看來,您似乎需要在專用服務器上運行Long-polling解決方案,因爲在開始處理大量用戶時,它們在Tomcat/Jetty中運行得並不順利。 WebSockets聽起來像它可以更好地擴展。在Comet上使用Websockets有什麼不利之處,還是應該使用TCP連接來使用我自己的解決方案?我正在尋找使用最少流量的選項。WebSockets與長輪詢與TCP可擴展性/易於使用
4
A
回答
5
我想這取決於你的用例和學習新事物的容忍度,但是肯定的是,沿着使用WebSocket API進行通信甚至SSE的路徑將比傳統的長輪詢/ Comet解決方案更好原因 - 您提到的一個原因 - 可擴展性,還有帶寬利用率和延遲。重要的是要明白,WebSocket是Web到桌面的TCP是什麼,例如一個插座。在桌面解決方案中,您不必針對TCP進行編碼,您可以使用支持STOMP或XMPP over TCP等傳輸協議的客戶端庫。您在使用WebSocket時也是這樣,選擇一臺服務器與例如XMPP服務器和XMPP客戶端庫,以通過WebSockets與服務器進行通信。
你可以看到我們的例子here,我們有docs you can read here。
需要注意的是瀏覽器採用HTML5 WebSocket--目前在Chrome和Safari中,即將推出FF和Opera。我們已經解決了這個問題,但是如果您計劃構建自己的服務器,則必須爲舊版瀏覽器創建回退解決方案。
相關問題
- 1. 擴展聊天應用 - 短輪詢與長輪詢(AJAX,PHP)
- 2. WebSockets和長輪詢
- 3. AJAX輪詢與WebSockets移動性能
- 4. TCP保持可擴展性
- 5. 如何將可擴展的長輪詢服務器與PHP集成?
- 6. 輪詢vs長輪詢與推(
- 7. 長輪詢與Java和JBoss
- 8. ajax與mysql的長輪詢
- 9. a4j:推送不使用websockets並退回長輪詢
- 10. S.O.A.與.NET的可擴展性
- 11. 易於使用轉輪
- 12. 廣播像TCP與TCP的可靠性
- 13. 重複使用與可維護性和易於測試
- 14. 易於使用的可擴展序列化/編組?
- 15. 是否有易於使用的可擴展布局?
- 16. 與長輪詢的Android聊天
- 17. nginx的彗星長輪詢與jQuery
- 18. 民意調查與長時間輪詢
- 19. 長時間輪詢問題與IE8
- 20. 全文查詢只適用於「與查詢擴展」
- 21. 使用URLForResource與擴展
- 22. 使用長時間輪詢與facebook圖形API(用於「實時」通知)
- 23. 如何使用適用於Chrome擴展的HTML5 WebSockets
- 24. 輪詢與delayed_job
- 25. 使用NSURLConnection的長輪詢
- 26. 使用異步長輪詢?
- 27. Chrome和Safari恢復到xhr輪詢,而不是與socket.io的websockets
- 28. 使用Node.js與Apache一起進行長輪詢
- 29. php是否可以通過反向ajax長輪詢進行擴展?
- 30. 使用輪詢的TCP超時
這個問題的外部引用現在是死鏈接。 – jfriend00 2016-01-13 16:14:30