//Listener public static async Task StartServerSocketAsync() { _cancellationServerToken = CancellationTokenSource.CreateLinkedTokenSource(new CancellationToken()); while (!_cancellationServerToken.Token.IsCancellationRequested) { await Task.Run(async() => { TcpClient client = await GameSocket.AcceptTcpClientAsync(); client.NoDelay = true; ProtocolModel.ConnectionClient connectionClient = new ProtocolModel.ConnectionClient { Id = Guid.NewGuid().ToString(), Client = client }; Clients.Add(connectionClient); ReadFromClient(connectionClient); }, _cancellationServerToken.Token); } }