SignalR SelfHost實時消息,集成到web中,實現服務器消息推送


先前用過兩次SignalR,但是中途有段時間沒弄了,今天重新弄,發現已經忘得差不多了,做個筆記!

首先創建一個控制台項目
Nuget添加引用聯機搜索:
Microsoft.AspNet.SignalR.SelfHost
Microsoft.Owin.Cors

 

 

在Program.cs添加代碼


添加一個Hub

這個hub里面我們就實現了連接時候服務器像客戶端推送一條消息,客戶端接收方法為receive
下面我又給這個hub添加了一個send方法,客戶端發送消息來的時候會把消息廣播到所有客戶端去,代碼如下:

public void Send(string msg)
        {
            Clients.All.receive(msg);
        }

  



我們先測試一下web端:
創建一個空的web MVC項目(winform也行,無所謂),Nuget添加搜索SignalR添加:Microsoft Asp.Net SignalR JavaScript Client的引用


創建一個HomeController,在其Index.cshtml分別引用:jquery,jquery.signalR.xxx.min.js
添加JS引用跟JS代碼

 

注意兩個http地址的引用,一定要寫你的服務點的地址跟端口,接下來我們測試下效果:

 

從上面我們可以看到,不論哪個連接到服務端,發送消息,所有的客戶端都能收到,如果要針對單獨的人員發送消息,只需要指定這個人的clientID即可
SignalR不會保存客戶端人員信息,也不會知道這個人到底連接沒連接,所以要實現在線離線功能,自己維護一個在線緩存表即可!

點擊這里下載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM