【发布时间】:2022-01-09 22:29:55
【问题描述】:
错误:无法启动连接:错误:WebSocket 无法启动 连接。在服务器上找不到连接,要么 端点可能不是 SignalR 端点,连接 ID 不是 存在于服务器上,或者存在阻止 WebSockets 的代理。如果你 让多台服务器检查是否启用了粘性会话。
WebSocketTransport.js:49 WebSocket 连接到 'ws://xxxxxx/production/web-services/hubs/spreadhub' 失败:
Angular.ts
ngOnInit(): void {
// For signalR Hub connection
this.connection = new HubConnectionBuilder()
.withUrl('http://xxx.xxx.com/production/web-services/hubs/spreadhub', { // localhost from **AspNetCore3.1 service**
skipNegotiation: true,
transport: signalR.HttpTransportType.WebSockets
})
.build();
this.connection.on('dataReceived', (data: string) => {
var model = JSON.parse(data);
});
this.connection.start().then(() => { // to start the server
console.log('server connected!!!');
}).catch(err => console.log(err));
}
【问题讨论】:
-
你在哪里运行的?在linux还是windows上?我也面临同样的问题。我在 httpd 和 kestrel 上。我认为这与 httpd 中不允许或转发到 kestrel 的 Web 套接字连接有关。
-
windows平台
-
对我来说,问题在于我们的流量位于导致问题的代理后面。这个答案帮助了我:stackoverflow.com/a/68732723/8644294
标签: angular asp.net-core signalr