刷新后保持 WebSocket 连接处于活动状态

2024-03-14

我有一个实时应用程序,它在 java spring 服务器和浏览器之间使用 WebSockets。有没有办法在页面刷新后保持 Websocket 连接处于活动状态?

这是我的 JavaScript 代码:

consumerWebSocket = new WebSocket("wss://" + window.location.host + 
"/myWebSocketConnection");

consumerWebSocket.onopen = function () {
    sendThroughWS(consumerWebSocket, "Send this message from browser to server");

};

你不能。问题是 Websocket 所在的上下文仅限于您正在显示的页面。一旦刷新页面或导航到另一个页面,上下文(以及 Websocket)就会被销毁。

防止破坏的解决方案是创建某种单页应用程序。新内容将加载到现有页面中,并且 websocket 不会重新加载。

另一种方法是使用框架。您可以将 Websocket 放入(隐藏)框架中,然后使用另一个框架进行导航。这样,套接字就可以保持活动状态,并且您可以导航页面的其余部分,而无需重新加载 websocket。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

刷新后保持 WebSocket 连接处于活动状态 的相关文章