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