先前用過兩次SignalR,可是中途有段時間沒弄了,今天從新弄,發現已經忘得差很少了,作個筆記!html
首先建立一個控制檯項目
Nuget添加引用聯機搜索:
Microsoft.AspNet.SignalR.SelfHost
Microsoft.Owin.Corsjquery
在Program.cs添加代碼
添加一個Hubweb
這個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