Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        public void BroadcastConnectionMap()
        {
            var context = GlobalHost.ConnectionManager.GetHubContext <ServerMonitorHub>();

            context.Clients.All.addMessage(ConnectionMap.GetConnectionMap());
        }