public void ClientCommand(string message) { var json = Newtonsoft.Json.JsonConvert.DeserializeObject <RequestMessage>(message); var connection = ConnectionMap.GetConnectionMap(json.clientId); if (connection.Value.IsRequesting) { return; } var paramMessage = Newtonsoft.Json.JsonConvert.DeserializeObject <RequestParameter>(json.message); if (paramMessage.TipeRepository.Contains("DATABASE")) { connection.Value.IsRequesting = true; } System.Collections.Generic.List <string> connValue = connection.Value.ConnectionIds.ToList(); var context = GlobalHost.ConnectionManager.GetHubContext <MonitorHub>(); for (int iClient = 0; iClient < connValue.Count; iClient++) { string connID = connValue[iClient]; context.Clients.Client(connID).addMessage(json.message); } }
static void ReadConnections() { Dictionary <string, ClientConnectionModel> connectionMap = new Dictionary <string, ClientConnectionModel>(); while (true) { Thread.Sleep(5000); var newConnectionMap = ConnectionMap.GetConnectionMap(); if (connectionMap.Count == newConnectionMap.Count) { continue; } Console.WriteLine("Connection Created: " + ConnectionMap.Count); foreach (KeyValuePair <string, ClientConnectionModel> e in newConnectionMap) { Console.WriteLine(string.Format("{0} => {1} => [{2}]", e.Key, e.Value.IsRequesting, string.Join(", ", e.Value.ConnectionIds))); } connectionMap = newConnectionMap; } }
public void SendMessage(string username, string message) { var connection = ConnectionMap.GetConnectionMap(username); List <string> connValue = connection.Value.ConnectionIds.ToList(); var context = GlobalHost.ConnectionManager.GetHubContext <MonitorHub>(); for (int iClient = 0; iClient < connValue.Count; iClient++) { string connID = connValue[iClient]; context.Clients.User(connID).addMessage(message); } }
public void BroadcastConnectionMap() { var context = GlobalHost.ConnectionManager.GetHubContext <ServerMonitorHub>(); context.Clients.All.addMessage(ConnectionMap.GetConnectionMap()); }