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(); } }