手动指定SignalR的传输协议

    使用jQuery.SignalR js时 插件会自动判断浏览器与服务器支持的传输方式,但有可能出现其他情况导致默认选择的协议不支持,这时就需要手动指定所需要的传输方式了。

    要让客户端按照特定的方式和顺序进行数据传输可以使用 $.connection.start({transport:['webSockets','foreverFrame']}) 或 $.connection.hub.start({ transport: ['webSockets', 'foreverFrame'] }) 来指定,当客户端和服务端不支持指定的方式时会按照默认规则来匹配传输方式。

传输模式选择
传输方式 选择条件
auto 默认配置,根据不同的情况自动选择下面4种模式种的一种
webSockets

完全符合下面条件时选用

  • 客户端支持CORS
  • 客户端支持WebSocket
  • 服务端支持WebSocket
serverSentEvents 客户端或服务端不支持WebSocket
foreverFrame EventSource不可用时(除IE外基本都支持)
longPolling
  • IE8或更早版本
  • 连接启动时JSONP参数设置为true
  • foreverFrame不可使用
原文地址:https://www.cnblogs.com/masahiro/p/12131941.html