将Websocket连接保持在多个页面上
Hold Websocket-Connection over several pages
我需要一个设计与C++Web服务器通信的复杂html/javascript(jQuery)系统的想法。
到目前为止,我有一个主要的index.html,我通过事件加载子模块:
$(".MainButton").click(function(){
$("#swap").load($(this).attr('alt'));
});
现在的问题是,每个子模块都需要一个Websocket连接,我不想为我正在加载的每个子模块打开一个新的连接。
是否可以打开全局Websocket连接。。
var ws = new WebSocket("ws://localhost:800/stream");
并在每个子页面中使用ws?
非常感谢。
您的问题的标题和内容不同。至于内容,如果您通过jQuery的加载方法加载HTML片段(而不是页面),这些片段将合并到文档中,因此只有该文档存在。如果是您的情况,为什么不在main.html上打开该连接,使ws
成为window
的全局变量,并在子模块中使用它呢?只要子模块的URI与CORS同源或交叉,它就可以访问和操作main.html的ws
。
然而,如果您坚持连接应该保持在多个页面上,包括刷新main.html作为问题的标题,那么除非您使用单页应用程序,否则目前是不可能的。有关详细信息,请参见以下内容:
- 如何维护页面之间的WebSockets连接
- 共享Web工作者是否在单个页面重新加载、链接导航中持续存在
- http://tavendo.com/blog/post/websocket-persistent-connections/
相关文章:
- 将Websocket连接保持在多个页面上
- Chrome点击mailto:links关闭websocket连接
- 为 WebSocket 连接配置身份验证标头
- ASP.NET 5 WebSocket 连接的错误 404
- 如何在火狐插件的后台保持恒定的 websocket 连接
- 在节点.js websocket 连接 (socket.io) 中获取客户端的 IP
- 在多个选项卡中测试 websocket 连接会使页面快速响应
- 无法在 Vaadin 的嵌入式框架上打开 websocket 连接
- 是否需要重申websocket连接
- Websocket连接自动关闭
- 播放Websocket连接已关闭
- 多个websocket连接
- 通过原型监听WebSocket连接
- 多个HTML5 WebSocket连接
- Websocket连接在FireFox中无法关闭
- 如何使用Java服务器发送消息到特定的websocket连接
- Angular 1.5:多个WebSocket连接
- 浏览器中的最大websocket连接数
- 保持WebSocket连接活动
- 如何正确删除websocket连接onClose