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

先前用過兩次SignalR,可是中途有段時間沒弄了,今天從新弄,發現已經忘得差很少了,作個筆記!html

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

 

 

在Program.cs添加代碼


添加一個Hub
web

這個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不會保存客戶端人員信息,也不會知道這我的到底鏈接沒鏈接,因此要實如今線離線功能,本身維護一個在線緩存表便可!

點擊這裏下載3d

相關文章
相關標籤/搜索