我正在开发一个将使用Web套接字的单页Backbone应用程序.该应用程序相当复杂,有6个或更多主要区域(屏幕).
Web套接字的语法似乎很简单,我现在想知道架构.
1:在应用程序的任何屏幕或区域上为所有实时服务器通信打开单个websocket,然后在客户端过滤这些消息?
要么…
2:一次打开多个websockets,其中每个Web套接字代表应用程序中的某些功能区域
(我看过这个页面,但它是关于服务器端的,我对客户端感兴趣:What is the best practice for WebSocket server(s)?)
更新:服务器正在使用Jetty(一种与Tomcat不同的Java技术).
解决方法@H_403_18@
我只打开一个连接,更容易管理.为了简化调试,您可以使用区域名称命名所有事件. socket.io也支持名称空间,请参见
http://socket.io/#how-to-use“将自己限制在名称空间”部分.
此外,如果您与websocket进行大量通信,可以使用Visibility API将其关闭,例如:https://developer.mozilla.org/en-US/docs/DOM/Using_the_Page_Visibility_API
此外,如果您与websocket进行大量通信,可以使用Visibility API将其关闭,例如:https://developer.mozilla.org/en-US/docs/DOM/Using_the_Page_Visibility_API