本章和大家分享的內(nèi)容是使用Signal R框架創(chuàng)建個(gè)簡(jiǎn)易的群聊功能,主要講解如何在.Net的MVC中使用這個(gè)框架,由于這個(gè)項(xiàng)目有官方文檔(當(dāng)然全英文),后面也不打算寫(xiě)分享篇了,主要目的是讓朋友們?cè)谛枰褂肳eb實(shí)時(shí)通信的時(shí)候有更多一種解決方案,畢竟這是微軟主推的一種解決方案之一。
SignalR網(wǎng)上簡(jiǎn)介
ASP.NET SignalR 是為 ASP.NET 開(kāi)發(fā)人員提供的一個(gè)庫(kù),可以簡(jiǎn)化開(kāi)發(fā)人員將實(shí)時(shí) Web 功能添加到應(yīng)用程序的過(guò)程。實(shí)時(shí) Web 功能是指這樣一種功能:當(dāng)所連接的客戶端變得可用時(shí)服務(wù)器代碼可以立即向其推送內(nèi)容,而不是讓服務(wù)器等待客戶端請(qǐng)求新的數(shù)據(jù)。
SignalR當(dāng)然也提供了非常簡(jiǎn)單易用的高階API,使服務(wù)器端可以單個(gè)或批量調(diào)用客戶端上的JavaScript函數(shù),并且非常 方便地進(jìn)行連接管理,例如客戶端連接到服務(wù)器端,或斷開(kāi)連接,客戶端分組,以及客戶端授權(quán),使用SignalR都非常 容易實(shí)現(xiàn)。
SignalR將與客戶端進(jìn)行實(shí)時(shí)通信帶給了ASP .NET 。當(dāng)然這樣既好用,而且也有足夠的擴(kuò)展性。以前用戶需要刷新頁(yè)面或使用Ajax輪詢才能實(shí)現(xiàn)的實(shí)時(shí)顯示數(shù)據(jù),現(xiàn)在只要使用SignalR,就可以簡(jiǎn)單實(shí)現(xiàn)了。最重要的是您無(wú)需重新建立項(xiàng)目,使用現(xiàn)有ASP .NET項(xiàng)目即可無(wú)縫使用SignalR。
群聊實(shí)例效果
咋們先來(lái)看看測(cè)試用例的效果吧,這里是線上效果鏈接:神牛聊天室(http://lovexins.com:1001/home/shenniuchat),效果圖:
界面及其簡(jiǎn)單,樣式這里就不考慮了,主要是展示其用法,這里涉及到的功能有:
1. 統(tǒng)計(jì)在線人數(shù)量
2. 顯示在線人數(shù)的昵稱和連