コード例 #1
0
ファイル: ServerMessageBus.cs プロジェクト: paralin/SuperPool
        /// <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));
        }
コード例 #2
0
ファイル: ClientMessageBus.cs プロジェクト: paralin/SuperPool
        /// <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));
        }