zoukankan      html  css  js  c++  java
  • ASP.NET Core基于SignalR实现消息推送实战演练

    一、ASP.NET Core SignalR课程介绍

    1)、SignalR简介

    ASP.NET Core SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。

    实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务器代码可以立即向其推送内容,而不是让服务器等待客户端请求新的数据。

    2)、SignalR主要用途:

    它出现的主要用途:可以用在聊天室、Web实时推送消息 (Real-Push-Message)、单点和多点通讯、扫码登陆、甚至可以结合其他技术用来做视频聊天等等。

    3)、一句话总结今天我们实现的目标?

    如何在ASP.NET Core中使用SignalR技术来实现服务端向客户端实时推送消息。

    废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

    案例效果如下所示:

    1、SignalR服务端实时Push推送指定的消息给C/S客户端。

    2、SignalR客户端支持断线自动重连。

    二、SignalR和WebSocket的关系

    SignalR是一个ASP .NET下的类库。WebSocket是HTML5提供的一种通讯协议。

    WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输 。

    SignalR是一个ASP .NET下的类库,可以在ASP .NET Core的Web项目中实时通信。在Web网页与服务器端间建立Socket连接,当WebSockets可用时(即浏览器支持Html5)SignalR使用WebSockets,当不支持时SignalR将使用长轮询来保证达到相同效果。

    SignalR优先使用支持WebSocket,当遇到不支持的环境时,会使用老的传输方式。采用SignalR可以发挥WebSocket的功效,而不用担心老客户不支持WebSocket。


     

    三、ASP.NET Core基于SignalR实现消息推送实战演练

    ASP.NET Core SignalR 入门 | Microsoft Docs 

    https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/signalr?view=aspnetcore-3.1&tabs=visual-studio

    1)、ASP.NET Core配置SignalR中间件

    默认SignalR中间件(Microsoft.AspNetCore.SignalR)已经集成在我们的ASP.NET Core框架之中了。

    2)、ASP.NET Core创建SignalR中心(Hub)

    Hub中心是一个类,用作处理客户端 - 服务器通信的高级管道。

    阿笨个人对Hub的理解:socket client与socket server之间互相通信的桥梁。

    3)、ASP.NET Core SignalR C/S客户端

    4)、ASP.NET Core SignalR Web客户端

    四、总结

    SignalR主要应用场景

    它出现的主要目的实现服务器主动推送(Push)消息到客户端(PC、Web、移动App),这样客户端就不必重新发送请求或使用轮询技术来获取消息。

    通过SignalR,开发人员可以在ASP.NET Core开发的Web应用中实现服务器和客户端的双向实时通信。

    关于WebSocket技术,大家感兴趣可以学习一下阿笨的课程《ASP.NET Core基于WebSocket实现消息推送实战演练》

     

    一、ASP.NET Core SignalR课程介绍

     

    1)、SignalR简介

    ASP.NET Core SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。

    实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务器代码可以立即向其推送内容,而不是让服务器等待客户端请求新的数据。

     

    2)、SignalR主要用途:

    它出现的主要用途:可以用在聊天室、Web实时推送消息 (Real-Push-Message)、单点和多点通讯、扫码登陆、甚至可以结合其他技术用来做视频聊天等等。

     

    3)、一句话总结今天我们实现的目标?

    如何在ASP.NET Core中使用SignalR技术来实现服务端向客户端实时推送消息。

    废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

     

    案例效果如下所示:

    1、SignalR服务端实时Push推送指定的消息给C/S客户端。

    2、SignalR客户端支持断线自动重连。

    image

    image

    image

    image

     

    二、SignalR和WebSocket的关系

     

    SignalR是一个ASP .NET下的类库。WebSocket是HTML5提供的一种通讯协议。

    WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输 。

    SignalR是一个ASP .NET下的类库,可以在ASP .NET Core的Web项目中实时通信。在Web网页与服务器端间建立Socket连接,当WebSockets可用时(即浏览器支持Html5)SignalR使用WebSockets,当不支持时SignalR将使用长轮询来保证达到相同效果。

    SignalR优先使用支持WebSocket,当遇到不支持的环境时,会使用老的传输方式。采用SignalR可以发挥WebSocket的功效,而不用担心老客户不支持WebSocket。

     

     

    image

     

    三、ASP.NET Core基于SignalR实现消息推送实战演练

    ASP.NET Core SignalR 入门 | Microsoft Docs 

    https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/signalr?view=aspnetcore-3.1&tabs=visual-studio

     

    1)、ASP.NET Core配置SignalR中间件

    默认SignalR中间件(Microsoft.AspNetCore.SignalR)已经集成在我们的ASP.NET Core框架之中了。

     

    2)、ASP.NET Core创建SignalR中心(Hub)

    Hub中心是一个类,用作处理客户端 - 服务器通信的高级管道。

    阿笨个人对Hub的理解:socket client与socket server之间互相通信的桥梁。

     

    3)、ASP.NET Core SignalR C/S客户端

     

    4)、ASP.NET Core SignalR Web客户端

    image.png

    image.png

    四、总结

    SignalR主要应用场景

    它出现的主要目的实现服务器主动推送(Push)消息到客户端(PC、Web、移动App),这样客户端就不必重新发送请求或使用轮询技术来获取消息。

    通过SignalR,开发人员可以在ASP.NET Core开发的Web应用中实现服务器和客户端的双向实时通信。

     

    关于WebSocket技术,大家感兴趣可以学习一下阿笨的课程《ASP.NET Core基于WebSocket实现消息推送实战演练》

     

     

     

    作者:阿笨

          【官方QQ一群:跟着阿笨一起玩NET(已满)】:422315558跟着阿笨一起玩NET

          【官方QQ二群:跟着阿笨一起玩C#(已满)】:574187616跟着阿笨一起玩C#

          【官方QQ三群:跟着阿笨一起玩ASP.NET(已满)】:967920586跟着阿笨一起玩ASP.NET

          【官方QQ四群:Asp.Net Core跨平台技术开发(可加入)】:806491485Asp.Net Core跨平台技术开

          【官方QQ五群:.NET Core跨平台开发技术(可加入)】:1036896405.NET Core跨平台开发技术

          【网易云课堂】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628

          【腾讯课堂】:https://abennet.ke.qq.com

          【51CTO学院】:https://edu.51cto.com/sd/66c64

          【微信公众号】:http://dwz.cn/ABenNET

  • 相关阅读:
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    set IDENTITY_INSERT on 和 off 的设置
    导入本地Excel到DataSet中
    SQL结果统计 GROUP BY
    算法:10幢房子分给3个人
  • 原文地址:https://www.cnblogs.com/51net/p/13699070.html
Copyright © 2011-2022 走看看