Esempio n. 1
0
        /// <summary>
        /// Helper, sends an update with all the *local* clients ids to the server.
        /// </summary>
        bool SendClientsUpdate(int socketId)
        {
            Console.WriteLine("Send clients update: "+socketId);
            ClientsListMessage message = new ClientsListMessage();
            foreach (MessageBusClient client in Clients)
            {
                message.Ids.Add(client.Id);
                message.AddType(client.GetType(), client.OptionalSourceType);
            }
            lock(_syncRoot){
                foreach (ClientId id in _remoteClientsTypes.Keys)
                {
                    //Console.WriteLine("Client sent: "+id.ToString());
                    //if (_remoteClientsNetIds.ContainsKey(socketId) && _remoteClientsNetIds[socketId].Contains(id))
                    //    continue;
                    message.Ids.Add(id);
                    message.AddType(_remoteClientsTypes[id], null);
                }
            }
            foreach(var sourceTypes in message.SourcesTypes)
            {
                if (sourceTypes == null)
                    continue;
                foreach(string type in sourceTypes)
                {
                    Console.WriteLine("Source type: "+type);
                }
            }

            return ToClient(socketId, message, null);
        }
Esempio n. 2
0
        /// <summary>
        /// Helper, sends an update with all the local clients ids to the server.
        /// </summary>
        bool SendClientsUpdate()
        {
            ClientsListMessage message = new ClientsListMessage();
            foreach (MessageBusClient client in Clients)
            {
                message.Ids.Add(client.Id);
                message.AddType(client.GetType(), client.OptionalSourceType);
            }

            return ToServer(message, null);
        }