我正在尝试使用 asterisk websocket 连接socket.io-客户端 https://github.com/socketio/socket.io-client
socket = io.connect(url ,{
transports: ['websocket'],
secure: true,
'force new connection' : false,
'reconnect' : true,
});
它有效,但每次我更改或刷新页面时,Websocket 连接都会断开并重新连接(显然)。我的应用程序不是“单页应用程序”。
有办法保持连接活动吗?
有办法保持连接活动吗?
不。如果您允许在浏览器中更改页面,则不会。
当浏览器更改页面时,它将关闭与旧页面关联的所有资源(包括 webSockets),然后它将初始化并打开新页面。你无法改变这一点。
保持 webSocket 打开的唯一方法是将其放在不发生变化的窗口中。这需要转换为单页应用程序(不更改页面)或将 webSocket 放入不更改的框架或窗口中。您可以让用户安装浏览器扩展(可以维持持久连接),但我认为这不是您要问的。
否则,您必须只管理服务器上的内容,以处理站点内的页面更改将关闭旧的 webSocket 并打开新的 webSocket 的事实。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)