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 @   黄明辉  阅读(1736)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示