我正在爲基於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. AJAX輪詢與WebSockets移動性能
- 3. TCP保持可擴展性
- 4. 輪詢vs長輪詢與推(
- 5. 長輪詢與Java和JBoss
- 6. S.O.A.與.NET的可擴展性
- 7. 易於使用轉輪
- 8. 廣播像TCP與TCP的可靠性
- 9. 與長輪詢的Android聊天
- 10. 重複使用與可維護性和易於測試
- 11. 易於使用的可擴展序列化/編組?
- 12. 是否有易於使用的可擴展布局?
- 13. 使用長時間輪詢與facebook圖形API(用於「實時」通知)
- 14. 如何使用適用於Chrome擴展的HTML5 WebSockets
- 15. 輪詢與delayed_job
- 16. 使用NSURLConnection的長輪詢
- 17. 使用異步長輪詢?
- 18. Chrome和Safari恢復到xhr輪詢,而不是與socket.io的websockets
- 19. WebSockets(或AJAX長輪詢等)可以在與原始HTTP請求不同的端口上運行嗎?
- 20. WebSockets:讓Safari與pywebsockets一起工作Apache擴展
- 21. JavaEE 6 Servlet用於長輪詢
- 22. 文件與長擴展使用命令提示符
- 23. 與「擴展」 UTIL
- 24. 擴展與C#
- 25. 當與擴展
- 26. 與SOAP擴展
- 27. AJAX輪詢頻率 - 要長期輪詢還是不輪詢長輪詢?
- 28. 可擴展性與負載或性能測試有何不同?
- 29. 與mvc/oop相比,spaghetti php code的性能和可擴展性?
- 30. Java長輪詢
這個問題的外部引用現在是死鏈接。 – jfriend00 2016-01-13 16:14:30