传输超时太短会导致Angular Socket.IO Web套接字在建立连接之前关闭

时间:2019-07-09 14:31:37

标签: angular websocket socket.io

我不断收到警告 Websocket连接到“ ws:// localhost:12345 / sockjs-node / 123 / 124gi9a / websocket”失败:在建立连接之前关闭WebSocket  每次我使用VS运行Angular应用程序时,都会在控制台中访问。

查看调用堆栈;似乎是由于几次尝试连接失败后传输超时。然后关闭运输。

编辑:我发现通过使用第二行代码here来增加传输超时可以解决该警告。但是我不知道为什么这个拉请求没有被批准。我仍然不知道延长超时的长期解决方案是什么。

1 个答案:

答案 0 :(得分:0)

要详细说明我所做的事情:

node_modules \ sockjs-client \ dist \ sockjs.js中有一行

var timeoutMs = (this._rto * Transport.roundTrips) || 5000;

我刚刚将其注释掉了。

下面应该是这样的一行:

// calculate timeout based on RTO and round trips. Default to 5s. Min timeout is null, can be overridden
var timeoutMs = (
    (this._rto > this._transportMinTimeout ? this._rto : this._transportMinTimeout) * Transport.roundTrips
) || 5000;