【问题标题】:Keep Connection with Socket.io与 Socket.io 保持连接
【发布时间】:2017-02-24 14:34:09
【问题描述】:

我正在尝试使用 socket.io-client 连接星号 websocket

socket = io.connect(url ,{
    transports: ['websocket'],
    secure: true,
    'force new connection' : false,
    'reconnect' : true,
});

它可以工作,但是每次我更改或刷新页面时,websocket 连接都会断开并重新连接(显然)。我的应用不是“单页应用”。

有办法保持连接吗?

【问题讨论】:

    标签: websocket socket.io


    【解决方案1】:

    有办法保持连接吗?

    没有。如果您允许页面在浏览器中更改,则不会。

    当浏览器改变页面时,它会关闭与旧页面相关的所有资源(包括 webSockets),然后它会初始化并打开新页面。你无法改变它。

    保持 webSocket 保持打开状态的唯一方法是把它放在一个不会改变的窗口中。这将需要转换为单页应用程序(不会更改页面)或将 webSocket 放在不会更改的框架或窗口中。你可以让用户安装一个浏览器扩展(它可以保持持久连接),但我认为这不是你要问的。

    否则,您只需管理服务器上的内容即可处理站点内页面更改将关闭旧 webSocket 并打开新 webSocket 的事实。

    【讨论】:

    • @icy2k - 这回答了你的问题吗?如果这回答了您的问题,那么您可以通过单击答案左侧的绿色复选标记向社区表明这一点。这也将为您在堆栈溢出时遵循正确的程序赢得一些声誉积分。
    猜你喜欢
    • 2020-12-18
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 2017-02-06
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多