public void Validate()
        {
            View.ValidateRequired("View");

            ItemIDs.ValidateOptional("ItemIDs");
            Keys.ValidateOptional("Keys");
            Filters.ValidateOptional <ItemFilter>("Filter");
            ClientIDs.ValidateOptional("ClientIDs");
            MaxResults.ValidateOptional("MaxResults");
            MaxFullItems.ValidateOptional("MaxFullItems");
        }
Example #2
0
        public async Task ListenForClientsAsync()
        {
            while (true)
            {
                TcpClient client = await TcpListener.AcceptTcpClientAsync();

                Console.WriteLine("Accepted connection from client " + client.Client.LocalEndPoint);
                ConnectedClients.Add(client);
                Guid id = Guid.NewGuid();
                ClientIDs.Add(client, id);
                IDClients.Add(id, client);
                new Task(async() => await HandleClientAsync(client)).Start();
            }
        }
Example #3
0
        private async Task HandleClientAsync(TcpClient client)
        {
            //TODO
            while (client.Connected)
            {
                string data = await ReadData(client);

                if (data != null)
                {
                    HandleData(data, client);
                }
            }
            await NotifyClientsOfUserLeft(client);

            ConnectedClients.Remove(client);
            ClientIDs.Remove(client);
        }