ASP.NET SignalR 系列(一)之SignalR介绍

一、SignalR介绍

ASP.NET SignalR 是一个面向 ASP.NET 开发人员的库,可简化将实时 web 功能添加到应用程序的过程。 实时 web 功能是让服务器代码将内容推送到连接的客户端立即可用,而不是让服务器等待客户端请求新数据的能力。

废话不多说

传输模式

 

二、SignalR 和 WebSocket的区别

简单的说呢,websocket对客户端和服务端都有要求,而SignalR对兼容性就比较好,它集成了WebScoket和http两种方式,当条件满足时,自动使用WebScoket,否则使用http。可以简单的理解为,WebScoket是SignalR的子集。

 

三、SignalR的两种模式
永久连接

长连接(长轮询)

1、如果浏览器是 Internet Explorer 8 或更早版本,则使用长轮询。

2、如果配置 JSONP (即jsonp参数设置为true启动连接时),使用长轮询。

3、如果操作正在进行的跨域连接,(即,如果 SignalR 终结点不在托管的页面所在的域中),然后 WebSocket 将在满足以下条件:

                      1、客户端支持 CORS (跨域资源共享)。

                      2、客户端支持 WebSocket

                      3、服务器支持 WebSocket

                     4、如果不满足任何这些条件,则将使用长轮询。

4、如果未配置 JSONP 并且连接不跨域,如果客户端和服务器支持它,则将使用 WebSocket。

5、如果客户端或服务器不支持 WebSocket,如果可用,则使用服务器发送事件。

6、如果服务器发送事件不可用,请尝试使用永久帧。

7、如果永久连接失败,则使用长轮询。

文章介绍参考:https://docs.microsoft.com/zh-cn/aspnet/signalr/overview/getting-started/introduction-to-signalr#signalr-and-websocket

不在多介绍了,下章开始进入撸代码。

 

posted @ 2018-08-30 16:15  黄明辉  阅读(1727)  评论(0编辑  收藏  举报