为什么我必须在新窗口中重新连接到localhost:3000?

时间:2017-01-17 16:10:47

标签: c++ node.js google-chrome websocket localhost

我编写了一个程序,在运行时,我可以在浏览器(chrome)中使用localhost:3000连接。调试WebSocket连接失败时会定期:

  

与'ws:// localhost:3000 / serv / socketio /?EIO = 3& transport = websocket'的WebSocket连接失败:在建立连接之前WebSocket已关闭。

我的问题是,当我重新启动程序并尝试重新连接时,我不能简单地刷新页面。如果我只是尝试刷新页面,它将继续打印出WebSocket连接失败消息。我必须打开一个新窗口。为什么会这样,是否有解决方法?

编辑:我已在IE中测试过,我可以刷新页面,没有任何问题。 IE将连接回localhost:3000而没有WebSocket断开连接失败

1 个答案:

答案 0 :(得分:0)

在使用专门的Web浏览器调试套接字时,我遇到了类似这样的有趣问题。我确信这有一个神奇的答案,但是我的回答是,根据我的经验,浏览器试图变得聪明并记住套接字不起作用的事实,以及许多其他事情关于他们期望收到的信息等等。他们对状态的变化反应不敏感。这适用于许多事情,更不用说它们是否可以建立TCP连接。例如,CSS缓存等......

所有这一切都是为了尝试节省一些互联网带宽。即做出合理的假设'每页加载下载较少的东西。当然,这些假设建立在您定期进行网络浏览的前提下。

所以只需打开一个新的窗口长话短说。

使用隐私浏览窗口也可能会有所帮助。