我们将在客户端和服务器之间发送和接收,使用Web套接字。
但是我从web socket创建的页面转到其他页面,socket连接关闭。
我调用表单操作,socket将重新连接。
如何保持套接字连接。我们需要在用户需要时保持套接字连接。
答案 0 :(得分:2)
你不能。
websocket始终绑定到当前加载的HMTL文档。文档关闭后,您的websocket也会关闭。当您需要与用户建立连续的沟通渠道时,您需要进行一些重构。
使用它并为每个请求创建一个新的WS连接。那么您将需要一些会话处理。您可以通过在建立WS连接时为客户端提供随机生成的会话ID并让客户端将其存储在localstorage中来实现。当服务器注意到websocket连接被关闭时,以可以使用session-id重新获得的方式保持应用程序的状态。当客户端导航到另一个文档时,让他们从localstorage中检索会话ID并通过websocket发送该会话ID,这样服务器端应用程序就可以将存储的会话状态分配给连接。
或者将您的网站设计为单页应用程序,其中所有内容都发生在同一个HTML文档中,并且当用户导航时,内容会通过AJAX调用切换出来(但要了解搜索引擎和喜欢设置深度的人的影响 - 链接到您的内容。)