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"); }
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(); } }
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); }