我正在为基于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