所有连接到集线器卡住/冻结。 Websockets重新连接显示404

时间:2016-04-28 20:54:43

标签: asp.net signalr signalr-hub

我们正面临类似的问题https://github.com/SignalR/SignalR/issues/3353

当我们启动我们的应用程序时,一段时间后,连接到集线器的所有用户都开始重新连接问题。

在Chrome控制台中,所有用户都在不断地看到这一点:

  

jquery.signalR.min.js WebSocket连接到'wss:// [我们的网站网址] /信号器/重新连接?transport = webSocke ... HcDfA%3D%3D& connectionData =%5B%7B%22name%22%3A %22myhub%22%7D%5D& tid = 10'失败:WebSocket握手期间出错:意外响应代码:404

所有用户都处于重新连接模式,即此方法不断针对所有用户启动:

connection.hub.stateChanged(function (change) {
                if (change.newState === $.connection.connectionState.reconnecting) {
                    failPendingMessages();
                    ui.showStatus(1, '');
                }
                else if (change.newState === $.connection.connectionState.connected) {
                    if (!initial) {
                        ui.showStatus(0, $.connection.hub.transport.name);
                        ui.setReadOnly(false);
                    } else {
                        ui.initializeConnectionStatus($.connection.hub.transport.name);
                    }

                    initial = false;
                }
                else if (change.newState === $.connection.connectionState.disconnected && initial === true) {
                    initial = false;
                }
            });

我们正在使用Jabbr源代码中的代码。

州正在从连接>重新连接> diconnected>连接

似乎有很多连接后,所有与Hub的连接仍然卡住,即无法正确地与集线器通信,因此连接断开,我们收到“WebSocket握手:意外的响应代码:404”我提到的上方。

请注意,此行为/问题没有固定的时间。有时它会在“应用程序启动”的几分钟内开始,有时需要大约20-30分钟。

这个问题肯定是因为许多连接通过Hub同时与Signalr核心代码进行通信。

是否有任何修复方法?

编辑:我们使用的是最新版本的Signalr,即Microsoft.AspNet.SignalR.Core.dll(2.2.0)

0 个答案:

没有答案