科技

SignalR 輕鬆實現線上聊天功能(ASP.NET)

【前言】

最近看到很多朋友公司的專案在Web專案中需要用到聊天功能。想起了之前使用過一個微軟的SignalR元件。它是一個ASP.NET 下的類庫可以在ASP .NET 的Web專案中實現實時通訊。在Web網頁與伺服器端間建立Socket連線,當WebSockets可用時(即瀏覽器支援Html5)SignalR使用WebSockets,當不支援時SignalR將使用其它技術來保證達到相同效果。

【架構分析】

今天我們來實現服務端訊息推送到Web端,首先回顧一下它抽象層次圖是這樣的:

實際上 Asp.net SignalR 2 實現 服務端訊息推送到Web端, 更加簡單。 為了獲取更好的可伸縮性, 我們引入訊息佇列, 看如下基本流程圖:

訊息佇列MQ監聽, 在Web site 服務端一收到訊息,馬上通過Signalr 推送廣播到客戶端。

【效果圖】

【具體實現】

建立ASP.NET WEB 引用SignalR相關元件。

具體實現程式碼,是這樣的:

啟動類:

訊息分組

訊息操作類

前端程式碼

【結語】

本文簡單完成了一個線上的Web聊天系統,功能包含登入,好友上線通知、點對點、點對面(群聊)。IIS部署親測,可以適應手機和PC端聊天傳送。如果小夥伴兒們關注,後續再繼續為大家升級強化!歡迎關注公眾號,歡迎討論,歡迎轉發,願天下有需求的人都能看到!

看完本文有收穫?請轉發分享給更多人

關注「.net學院」,提升.Net技能

覺得文章不錯,可以留言,免費送資源喲。。。。

Reference:科技日報

看更多!請加入我們的粉絲團

轉載請附文章網址

不可錯過的話題