先前用过两次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