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

相关文章
相关标签/搜索