SignalR入门篇

Posted 连先森

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SignalR入门篇相关的知识,希望对你有一定的参考价值。

一,简介

Signal 是微软支持的一个运行在 Dot NET 平台上的 html websocket 框架。它出现的主要目的是实现服务器主动推送(Push)消息到客户端页面,这样客户端就不必重新发送请求或使用轮询技术来获取消息。

可访问其官方网站:https://github.com/SignalR/ 获取更多资讯。

 

二,实现机制

SignalR 的实现机制与 .NET WCF 或 Remoting 是相似的,都是使用远程代理来实现。在具体使用上,有两种不同目的的接口:PersistentConnection 和 Hubs,其中 PersistentConnection 是实现了长时间的 javascript 轮询(类似于 Comet),Hub 是用来解决实时信息交换问题,它是利用 Javascript 动态载入执行方法实现的。SignalR 将整个连接,信息交换过程封装得非常漂亮,客户端与服务器端全部使用 JSON 来交换数据。

 

下面就 Hubs 接口的使用来讲讲整个流程:

1,在服务器端定义对应的 hub class;

2,在客户端定义 hub class 所对应的 proxy 类;

3,在客户端与服务器端建立连接(connection);

4,然后客户端就可以调用 proxy 对象的方法来调用服务器端的方法,也就是发送 request 给服务器端;

5,服务器端接收到 request 之后,可以针对某个/组客户端或所有客户端(广播)发送消息。

 官方文档:https://www.asp.net/signalr

参考文章:https://www.cnblogs.com/isrocking/p/started-with-signalr.html

 

以上是关于SignalR入门篇的主要内容,如果未能解决你的问题,请参考以下文章

SignalR入门之多平台SignalR服务端

有关于MVC SignalR的问题

SignalR入门

[Asp.net 开发系列之SignalR篇]专题二:使用SignalR实现酷炫端对端聊天功能

SignalR系列教程:服务器广播与主动数据推送

SignalR 2.1 简单入门项目