using Microsoft.AspNet.SignalR.Hubs; using Microsoft.AspNet.SignalR; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Remoting.Contexts; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace XdCxRhDW.WebApi.SignalR { [HubName("MyTestHub")] public class MyHub : Hub { public void Send(string name, string message) { String msg = String.Format("Message send by {0}: {1}", name, message); Console.WriteLine(msg); Clients.Client(GlobalModel._ids[0]).addMessage(msg); } public void Sign(string projectNo) { Groups.Add(Context.ConnectionId, projectNo); } public void SameGroupMessage(string name) { Clients.Group(name).SendClient($"咱们是同一个组{name}"); } public override Task OnConnected() { Console.WriteLine("Client connected: " + Context.ConnectionId); GlobalModel._ids.Add(Context.ConnectionId); return base.OnConnected(); } public override Task OnDisconnected(Boolean stopCall) { Console.WriteLine("Client disconnected: " + Context.ConnectionId); return base.OnDisconnected(true); } } public class GlobalModel { public static List _ids = new List(); } }