【问题标题】:SignalR and failed websocket connection, but still worksSignalR 和失败的 websocket 连接,但仍然有效
【发布时间】:2014-07-10 02:30:16
【问题描述】:

我目前在 Chrome 控制台中收到此错误,但它仍然与 SignalR 成功连接。我收到此错误的任何原因?

JS 集线器连接

scheduleHub = $.connection.scheduleHub;
        scheduleHub.client.viewing = function (name, message) {
            app.showWarning(message, name, function () {
                app.refreshHash();
            });
        };

        if ($.connection.hub && $.connection.hub.state === $.signalR.connectionState.disconnected) {
            $.connection.hub.qs = { "eventid": options.eventId };
            $.connection.hub.start()
                .done(function () {
                    alert('Connected');
                    //scheduleHub.server.viewing('wow', 'test');
                })
                .fail(function() { alert('Could not Connect!'); });
        }

Chrome 控制台

WebSocket connection to 'ws://localhost:2222/signalr/connect?transport=webSockets&clientProtocol=1.4&eventid=23919&connectionToken=CV3wchrj88t6FdjgA%2BREdzEDIw0rhW6r2aUrb%2BI8qInsb3Y9BqQSOscPxfAZ2g0Dxl704usqdBBn%2BNSFKpjVNOtwASndOweD1kGWPCkWEbtJBMu%2B&connectionData=%5B%7B%22name%22%3A%22schedulehub%22%7D%5D&tid=5' failed: Error during WebSocket handshake: Unexpected response code: 500

【问题讨论】:

  • 您使用哪个操作系统作为服务器?您需要 Windows 8 或 2012 才能使用 websockets。
  • 应该没问题,能不能在SignalR中启用登录看看是什么错误?
  • 这很奇怪,因为它甚至无法连接 SSE,您是否有机会尝试找到导致 HTTP 500 内部服务器错误的异常?

标签: websocket signalr


【解决方案1】:

Web Sockets 最初是通过 HTTP 协商 websockets 连接开始的。在这次 HTTP 握手期间,Web 服务器可能引发了异常,无论如何,它返回 HTTP 状态码 500。如果没有成功的 HTTP 响应,Chrome 将无法继续协商 Web 套接字连接。

由于 SignalR 可以在多种传输方式上工作,而不仅仅是 websockets,一旦 websockets 连接失败,它会自动切换到尝试其他传输方式,例如永久帧或轮询,这就是您的连接仍然有效的原因。

【讨论】:

  • Chrome 不是问题,网络服务器是错误的来源。
  • 我添加了控制台截图
  • 正如我之前所说...您的控制台只是说您的网络 服务器 正在返回错误。你试过调试你的服务器了吗?
  • 当我的服务器在我的服务器上运行时,我该如何调试我的服务器?服务器工作正常。
  • 您是否尝试过告诉您的调试器(连接到服务器)在处理的异常不在您的代码中时实现平衡?或者您可以打开故障中的错误详细信息,向相关 URL 发送一个 websockets 查找请求,然后查看您得到的响应
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-02
  • 2012-07-01
  • 2016-07-28
  • 1970-01-01
  • 2018-12-19
  • 1970-01-01
相关资源
最近更新 更多