簡體   English   中英

SignalR websockets 在端口 80 上不起作用

[英]SignalR websockets not working on port 80

我遇到了一個問題,所有瀏覽器都沒有通過端口 80 與我的 IIS 10 網絡服務器建立 websocket 連接。 如果我 RDP 進入服務器並瀏覽到應用程序,或者如果我使用 ssl (443) 它工作得很好。 它確實成功回退到長輪詢,但我想嚴格使用 websockets。

我正在使用 4.6 框架運行 asp.net mvc 5 應用程序。 服務器上啟用了 Websocket。 有沒有其他人遇到過這個問題或有任何解決它的建議?

EDGE 錯誤:jquery.signalR-2.4.3.js:1893 WebSocket 連接到“ws://”失敗:連接在收到握手響應之前關閉

Firefox,Chrome 錯誤:jquery.signalR-2.4.3.js:1893 WebSocket 連接到 'ws://' 失敗

progress = $.connection.manifestHub;
console.log(progress);

progress.client.ShowProgress = function (message) {
  $('#ProgressMessage').width(message);
};

$.connection.hub.logging = true;
$.connection.hub.start({ transport: 'webSockets' }).done(function () {
      connectionId = $.connection.hub.id;
      $("#connectionId").val(connectionId);
      console.log(connectionId);
});
 var hubConfig = new HubConfiguration();
 hubConfig.EnableDetailedErrors = true;
            
 app.MapSignalR(hubConfig);

您的 web 服務器可能不支持 WebSockets,可能是因為您使用的是像 ARR 這樣的“代理”服務器,它無法“路由”WebSocket 請求。 嘗試在 SignalR 上禁用 WebSockets,如果問題仍然存在,這是一般的 SignalR 問題,但至少您會收到更具體的錯誤。 如果問題停止,現在您知道這是服務器問題。

你見過這個線程嗎? 這是@Andre Pena 提供的答案。 我試過了,這對我有幫助。 我想這可能會對你有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM