.net 实现服务器推送消息signalr源码
源码在后面。
1、首先在neget 添加signalr.找到Microsoft.AspNet.SignalR。
2、添加Startup类
3、添加chatHub类 继承Hub.(方法需要和前台js一致)
3、html页面
源码code
html
@{
ViewBag.Title = “Home Page”;
}
房间号: 用户名: 加入聊天室
消息: 发送
ChatHub类
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
namespace Demo
{
[HubName(“chatHub”)]
public class ChatHub : Hub
{
public void AddToRoom(string groupId, string userName)
{
//将分组Id放到上下文中
Groups.Add(Context.ConnectionId, groupId);
//群发人员进入信息提示
Clients.Group(groupId, new string[0]).addUserIn(groupId, userName);
}
public void Send(string groupId, string detail, string userName)
{
//Clients.All.addSomeMessage(detail);//群发给所有
//发给某一个组
Clients.Group(groupId, new string[0]).addSomeMessage(groupId, detail, userName);
}
}
}
ChatHub类
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
namespace Demo
{
[HubName(“chatHub”)]
public class ChatHub : Hub
{
public void AddToRoom(string groupId, string userName)
{
//将分组Id放到上下文中
Groups.Add(Context.ConnectionId, groupId);
//群发人员进入信息提示
Clients.Group(groupId, new string[0]).addUserIn(groupId, userName);
}
public void Send(string groupId, string detail, string userName)
{
//Clients.All.addSomeMessage(detail);//群发给所有
//发给某一个组
Clients.Group(groupId, new string[0]).addSomeMessage(groupId, detail, userName);
}
}
}