SignalR 协议协商

2023年 10月 1日 28.5k 0

环境搭建

参考: .NET SignalR - 掘金 (juejin.cn)

协商过程

  • SignalR支持多种服务器推送方式:

    WebsocketServerSent Events长轮询

    默认按顺序尝试。

  • F12查看协商过程。

    初始化连接时客户端会发送请求,询问支持列表

  • image.png

    服务器返回支持列表

    image.png

    客户端收到返回信息后,切换协议

    image.png

    查看协商过程

    image.png

    协商问题

    当使用集群时,建立通讯和协商的对象不一致,会导致混乱

    image.png

    取消协商

    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();
    

    image.png

    设置后直接发送请求,没有协商过程

    image.png

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论