【转】SignalR新手系列教程详解(三)- SignalR传输方式判断和配置

原文地址:https://www.zhidao91.com/signalr-tutorial-one-transports-negotiating-configure/

在上一篇 SignalR新手系列教程详解(二)- SignalR传输方式和选择分析讲解了SignalR传输方式和怎样去选择合适的传输方式。今天我们讲解一下SignalR传输监控和传输方式设置方法。

监控SignalR传输方式

你如果要监控你SignalR应用的传输方式,可以打开监控配置,然后打开浏览器的控制台,添加如下的代码:

    $.connection.hub.logging = true;
  • 在IE浏览器中,按F12打开开发工具的控制台Tab。

    【转】SignalR新手系列教程详解(三)- SignalR传输方式判断和配置_第1张图片

  • 在Chrome浏览器中,按Ctrl+Shift+J打开控制台。

    【转】SignalR新手系列教程详解(三)- SignalR传输方式判断和配置_第2张图片

打开控制台并且在开启日志记录的情况下,你可以看到什么样的传输方式正则被你的SignalR应用使用。

【转】SignalR新手系列教程详解(三)- SignalR传输方式判断和配置_第3张图片

设置SignalR传输方式

判断SignalR传输方式需要消耗一定的时间和客户端、服务器端的资源。一旦连接开始后,客户端是有能力知道传输方式的。下面的代码片段使用了一个长轮询的Ajax,使用这种方式的情况是因为客户端不支持其他传输方式。

connection.start({ transport: 'longPolling' });

你可以指定一个传输方式列表去指定使用传输方式的顺序,下面的代码片段就是尝试先使用WebSocket方式,如果失败了,就直接使用长轮询方式。

    connection.start({ transport: ['webSockets','longPolling'] });

传输方式配置的推荐使用下面的顺序

  • webSockets
  • foreverFrame
  • serverSentEvents
  • serverSentEvents

你可能感兴趣的:(signalr)