[英]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.