繁体   English   中英

将Websocket-Connection保留在多个页面上

[英]Hold Websocket-Connection over several pages

我需要一个设计与我的C ++-Webserver通信的复杂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的load方法加载HTML片段(而不是页面),则这些片段将合并到文档中,因此仅存在该文档。 如果是您的情况,为什么不通过将ws设置为window的全局变量并在子模块中使用它而仅在main.html上打开该连接? 只要子模块的URI与CORS是相同的源或跨源的,它就可以访问和操作main.html的ws

但是,如果您坚持要在多个页面上保持连接,包括从字面上刷新main.html作为问题的标题,那么除非您使用Single-page application,否则现在不可能。 有关详细信息,请参见以下内容:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM