SignalR使用

asp.net SignalR 是一个实现了全双工通信方式的开发库,使客户端(javascript)和服务器(C#)可以向对方主动推动消息。

    

    

1 协议(transports)介绍(官方文档摘录):

2 SignalR协议(transport)选择:

一个signalr连接是通过http请求发起的。websocket是signalr最理想的协议,可以有效利用服务器端的内存,有低延迟等基础特性,不过使用websocket有严格的要求,服务端必须windowsServer2012或windows8以上的系统,需要.net framework4.5.如果不满足这些要求,signalr就会使用其他协议来建立连接。

SignalR  Transport选择的过程(官方文档摘录):

3 asp.net mvc中简单使用

    3.1 定义自己的Hub,继承asp.net.SignalR.Hub类

          Hub是SignalR进行通信的管道,可以在派生类中定义pubilc 的方法,可以在客户端(javascript)中通过signalrapi直接访问到在hub中定义的pubilc 方法。

         在Hub中通知客户端(javascript):

         使用signalr api: Asp.Net.Clients.All.javascriptMethod(para..),Clients是一个动态泛型类型

         可以将消息广播到所有的客户端,也可以广播到特定客户端

        

    3.2 添加startup.cs 类,添加signalR配置,将signalr的hub 映射到 通信管道

           

  3.3 客户端实现

     

猜你喜欢

转载自blog.csdn.net/weixin_40719943/article/details/106438980