SignalR无法使用Chrome上的WebSocket连接到服务器

时间:2016-10-05 18:06:52

标签: javascript jquery google-chrome websocket signalr

我正在使用jquery.signalR-2.2.0.js进行signalR连接。

我有以下代码

    var connection = $.hubConnection();
    var proxy = connection.createHubProxy(hubName);

    connection.qs = { 'groupId': groupId };
    proxy.on('connected', function () { });

    connection.logging = true;
    connection.stop();

    connection.transportConnectTimeout = 5000;

    connection.start({ transport: ['webSockets', 'longPolling'] }).done(function () {
        console.log("Connected, transport = " + connection.transport.name);
    })
    .fail(function () { console.log('Could not Connect!'); });

现在当我通过chrome使用域名访问我的网站时出现问题,我收到以下错误:

  

WebSocket连接到“WS:// XYZ / signalr /连接运输=的WebSockets&安培; clientProtocol = 1.5&安培;的groupId = 0011600003&安培; connectionToken = nzZP7FOeqXGWVO9gqRZJI3Kl6NBBV%2FSXdgFWR7hvnsNooMr6Qh6vc7YOMzl%2Bb8ExCssRESg4et5mjJ1pQ%2BB%2BMFPy4nu0aMw9kI7pBzOSTLjzQXLlEVe%2FIqdHj%2Bd7sYpd8nGwA7tMaPBHYxpTt7%2FvbA%3D%? 3D& connectionData =%5B%7B%22name%22%3A%22spotterenhancementhub%22%7D%5D& tid = 3'失败:HTTP身份验证失败;没有有效的凭证availablestart @jquery.signalR-2.2.0.min.js:8start @jquery.signalR-2.2.0.min.js:8d @jquery.signalR-2.2.0.min.js:8success @jquery.signalR -2.2.0.min.js:8i @jquery-2.2.3.min.js:2fireWith @jquery-2.2.3.min.js:2z @jquery-2.2.3.min.js:4(匿名函数) @ jquery-2.2.3.min.js:4   jquery.signalR-2.2.0.min.js:8

     

[格林威治标准时间-0400(东部夏令时间)14:02:22] SignalR:Websocket关闭。   jquery.signalR-2.2.0.min.js:8

     

[GMT-0400(东部夏令时间)14:02:22] SignalR:关闭Websocket。   jquery.signalR-2.2.0.min.js:8

     

[格林威治标准时间-0400(东部夏令时间)14:02:22] SignalR:webSockets传输无法连接。试图退缩。   jquery.signalR-2.2.0.min.js:8

     

[格林威治标准时间-0400(东部夏令时间)14:02:22] SignalR:longPolling运输开始。

此外,这与服务器和放大器完美配合。域名通过 Firefox 。唯一的问题是 Chrome &域名。

  

注意:我正在使用AD-windows身份验证

     

操作系统:Windows 10

1 个答案:

答案 0 :(得分:0)

我在Chrome中遇到了奇怪的错误,但它们只发生在我的网站通过http提供时;您的错误表明您的网站上发生了什么,因为错误中存在不安全的ws://协议。尝试通过https服务您的网站;应该将您的连接升级到wss://,并可能解决您在使用Chrome时遇到的问题。