环境搭建
参考: .NET SignalR - 掘金 (juejin.cn)
协商过程
SignalR支持多种服务器推送方式:
Websocket
、ServerSent Events
、 长轮询
默认按顺序
尝试。
F12查看协商过程。
初始化连接时客户端会发送请求,询问支持列表
服务器返回支持列表
客户端收到返回信息后,切换协议
查看协商过程
协商问题
当使用集群
时,建立通讯和协商的对象不一致,会导致混乱
取消协商
const connection = new signalR.HubConnectionBuilder()
// .withUrl("https://localhost:7253/MyHub")
.withUrl("https://localhost:7253/MyHub",{
skipNegotiation:true,
transport:signalR.HttpTransportType.WebSockets
})
.withAutomaticReconnect() //断线自动重连
.build();
connection.start();
设置后直接发送请求,没有协商过程