【问题标题】:how to stop socket.io client reconnection attempts如何停止 socket.io 客户端重新连接尝试
【发布时间】:2016-10-18 12:28:47
【问题描述】:

我有使用 Express 运行的 socket.io。当我在终端上按CTRL-C停止服务器运行时,浏览器继续报如下:

我发现了各种类似的问题,但都没有帮助我解决我的问题。

谁能告诉我如何告诉 socket.io 在服务器停止运行时取消重新连接尝试。

在此先感谢

【问题讨论】:

  • 你试过删除socket对象吗?

标签: javascript socket.io


【解决方案1】:

简短回答:

别再按CTRL-C了,开玩笑的。

长答案:

你可以做几件事:

1) 您可以更改客户端上的reconnection options,或许将reconnection 设置为false。但也许这对于现实世界来说是不可取的,所以你可以这样做:

2) Disconnect the client socket from the server 在服务器退出之前。退出策略取决于您使用的服务器。

3) 如果选项 1 和 2 不可行,那么您将无能为力,因为您正在关闭服务器并让您的客户端挂起 - 卡在时间里,以为服务器有一天会返回。不过,它并不在乎。你是那个大嘴巴的控制台……

希望对你有帮助!

【讨论】:

    【解决方案2】:

    我找到了解决办法。

    我仍然想知道为什么 socket.io 中的某些事件似乎没有被触发,但也许这是另一个问题。帮助我解决问题的代码是:

    var socket = io.connect('http://localhost:3000', {'reconnection': false});
    

    感谢您的贡献

    【讨论】:

      【解决方案3】:

      我的解决方案。

      let socket = io.connect(null, {port:5000, rememberTransport: false});
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-31
        • 2012-06-20
        • 2017-05-10
        • 2016-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多