日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Asp.net?core?使用SignalR推送消息過程詳解_實用技巧

作者:執著的濤 ? 更新時間: 2022-05-24 編程語言

1)、SignalR簡介

ASP.NET Core SignalR 是為 ASP.NET 開發人員提供的一個庫,可以簡化開發人員將實時 Web 功能添加到應用程序的過程。

實時 Web 功能是指這樣一種功能:當所連接的客戶端變得可用時服務器代碼可以立即向其推送內容,而不是讓服務器等待客戶端請求新的數據。

2)、SignalR主要用途:

它出現的主要用途:可以用在聊天室、Web實時推送消息 (Real-Push-Message)、單點和多點通訊、掃碼登陸、甚至可以結合其他技術用來做視頻聊天等等。

適合 SignalR 的候選項:

  • 需要從服務器進行高頻率更新的應用。 示例包括游戲、社交網絡、投票、拍賣、地圖和 GPS 應用。
  • 儀表板和監視應用。 示例包括公司儀表板、即時銷售更新或旅行警報。
  • 協作應用。 協作應用的示例包括白板應用和團隊會議軟件。
  • 需要通知的應用。 社交網絡、電子郵件、聊天、游戲、旅行警報和很多其他應用都需使用通知。

SignalR 提供用于創建服務器到客戶端SignalR 的 API。 RPC 從服務器端 .NET Core 代碼調用客戶端上的函數。 提供多個受支持的平臺,其中每個平臺都有各自的客戶端 SDK。 因此,RPC 調用所調用的編程語言有所不同。

以下是 ASP.NET Core SignalR 的一些功能:

  • 自動處理連接管理。
  • 同時向所有連接的客戶端發送消息。 例如聊天室。
  • 向特定客戶端或客戶端組發送消息。
  • 對其進行縮放,以處理不斷增加的流量。

下面重點給大家介紹下Asp.net core 使用SignalR推送消息。

環境:

.net core3.1

一.服務端配置(Startup)

ConfigureServices

Configure

二、自定義類繼承Hub?

public class SignalRHub: Hub
    {
        private readonly IHubContext _hubContext = null;
 
        public SignalRHub(IHubContext context)
        {
            _hubContext = context;
        }
        public override Task OnConnectedAsync()
            Console.WriteLine($"{Context.ConnectionId}已連接");
            return base.OnConnectedAsync();
        public void ReadClientMsgMethod(string msg)
            Console.WriteLine($"{ Context.ConnectionId}客戶端發來信息:" + msg);
        /// 
        /// 全員發送
        /// 
        /// 
        /// 
        public string CallAllClients(string msg)
            Console.WriteLine("============全員發送==========");
            Clients.All.SendAsync("CallByHub", "全員發送>>>>>>>>>>" + msg);
            return MethodInfo.GetCurrentMethod()?.Name + "";
        //發送消息--發送給所有連接的客戶端
        public Task SendMessage(string msg)
            return _hubContext.Clients.All.SendAsync("CallByHub", msg);
    }

原文鏈接:https://blog.csdn.net/beautifull001/article/details/123643639

欄目分類
最近更新