我有一个实时应用程序,它在 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。
关于javascript - 刷新后保持 WebSocket 连接处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50782241/