|
1
0
webSocket连接无法从一个页面延续到下一个页面。当浏览器移动到新页面时,该原始页面中的所有webSocket连接都将关闭。 因此,无法将webSocket连接从一个页面传递到替换它的页面。 因此,使用webSocket连接的一种非常正常的方式是在页面加载时创建套接字。创建webSocket连接不是一项繁重的操作。最初连接webSocket的开销比一个Ajax连接的开销要大得多。当然,连接后,通过它发送数据是非常有效的(比发出新的Ajax请求发送相同的数据更有效)。 现在,关于您的具体问题:
不,这不会引起问题。每当页面加载时进行连接是使用webSockets的正常方式。
否,不能将连接从一个页面传递到替换它的页面。
它可以通过Javascript传递给同一页面中的其他函数,但不能传递给将替换此函数的页面。 |
|
|
2
0
预计每个页面都会创建自己的套接字连接,但实际上没有办法,正如@jfriend00在回答中所解释的那样。 虽然这不会导致任何问题,但使用WebSocket和Socket的主要原因之一。IO在服务器和客户端之间具有低延迟和低开销的交换。如果您的应用程序的设计方式需要经常加载新页面,那么这些好处将部分被延迟和开销所掩盖,因为在加载下一页时,必须经常丢弃现有连接才能重新建立连接。我的建议是,如果 single-page application 模型可能是应用程序的更好选择。使用此模型,整个应用程序加载初始页面,然后不需要重定向到其他页面,从而允许您保留Socket。IO连接贯穿应用程序的整个生命周期。 祝你好运 |