Javascript 信号器无法使用Chrome上的WebSocket连接到服务器

Javascript 信号器无法使用Chrome上的WebSocket连接到服务器,javascript,jquery,google-chrome,websocket,signalr,Javascript,Jquery,Google Chrome,Websocket,Signalr,我正在使用jquery.signalR-2.2.0.js进行信号机连接 我有以下代码 var connection = $.hubConnection(); var proxy = connection.createHubProxy(hubName); connection.qs = { 'groupId': groupId }; proxy.on('connected', function () { }); connection.logging =

我正在使用
jquery.signalR-2.2.0.js
进行信号机连接

我有以下代码

    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/connect?transport=webSockets&clientProtocol=1.5&groupId=001160003&connectionToken=NZP7FOEQGWVO9GQRZJI3KL6NBBV%2FSXdgFWR7hvnsNooMr6Qh6vc7YOMzl%2Bb8ExCssRESg4et5mjJ1pQ%2Bb%2BMFPPY4NU0AMW9KI7PBZOSTLJQXLEVE%2BIQDHJ%2BD7SYPD8NGWA7TMAPHYXPTT7%2FA%3D%2Bb%2Bb%2Bb%2Bb%2Bb%2Bb%2Bb%2Bb%2Bb%2Bb%2Bb%2Bb%2Bb%2Bb%2Bb%2Bb%2Bb%2Bb%2Bb失败:HTTP认证失败;没有可用的有效凭据Start@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.2.3.min.js:4(匿名函数)@jquery-2.2.2.3.min.js:4 jquery.signalR-2.2.0.min.js:8

[14:02:22 GMT-0400(东部夏时制)]信号机:Websocket关闭。 jquery.signalR-2.2.0.min.js:8

[14:02:22 GMT-0400(东部夏时制)]信号员:关闭Websocket。 jquery.signalR-2.2.0.min.js:8

[14:02:22 GMT-0400(东部夏时制)]信号器:WebSocket传输无法连接。试图后退。 jquery.signalR-2.2.0.min.js:8

[14:02:22 GMT-0400(东部夏时制)]信号员:长途运输开始

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

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

操作系统:Windows 10


我在Chrome上有一些奇怪的错误,但这些错误只有在我的网站通过http提供服务时才会发生;由于错误中存在不安全的
ws://
协议,您的错误表明您的站点上正在发生这种情况。尝试通过https为您的站点提供服务;这将升级您与wss://的连接,并有可能解决您在Chrome上的问题。

我在Chrome中遇到了奇怪的错误,但这些错误只有在我的站点通过http提供服务时才会发生;由于错误中存在不安全的
ws://
协议,您的错误表明您的站点上正在发生这种情况。尝试通过https为您的站点提供服务;这将升级您与wss的连接://,并可能解决您在Chrome上的问题。

我遇到了类似的问题。在客户端和服务器上使用Signalr2.2.2时,消息突然停止发送。客户端或服务器上都没有错误。只是无声的失败。事实证明,当我的页面通过https加载时,SignalR也必须通过安全连接。在本地测试时,我会使用我的网站,然后必须通过不安全的连接连接到Signal

现在我有两个配置文件,LOCAL.js和PROD.js。其中有一行代码,指示要使用的适当信号器端点。环境变量确定启动web服务器时加载的文件


此外,我可以允许SignalR客户端确定最佳连接方法。它正在Chrome、Firefox、Safari和IE上运行。祝你好运

我遇到了类似的问题。在客户端和服务器上使用Signalr2.2.2时,消息突然停止发送。客户端或服务器上都没有错误。只是无声的失败。事实证明,当我的页面通过https加载时,SignalR也必须通过安全连接。在本地测试时,我会使用我的网站,然后必须通过不安全的连接连接到Signal

现在我有两个配置文件,LOCAL.js和PROD.js。其中有一行代码,指示要使用的适当信号器端点。环境变量确定启动web服务器时加载的文件


此外,我可以允许SignalR客户端确定最佳连接方法。它正在Chrome、Firefox、Safari和IE上运行。祝你好运

如果您正在使用IIS-是否启用了WebSocket?我相信它们在默认情况下是禁用的。它已经启用了。实际上,当我使用服务器名访问网站时,它工作得很好,但是当我使用服务器的代理名时,它失败了。那么代理是否支持WebSocket?如果它配置正确?这似乎是chrome的问题。有趣的是,如果你使用计算机名,那么它在windows7+chrome上工作,但在Windows10+chrome上不工作。如果你使用IIS,那么你启用了WebSocket吗?我相信它们在默认情况下是禁用的。它已经启用了。实际上,当我使用服务器名访问网站时,它工作得很好,但是当我使用服务器的代理名时,它失败了。那么代理是否支持WebSocket?如果它配置正确?这似乎是chrome的问题。有趣的是,如果您使用计算机名,那么它在windows7+chrome上工作,但在Windows10+chrome上不工作