static async Task Main(string[] args) { TcpClient client = new TcpClient(); try { await client.ConnectAsync(IPAddress.Parse("127.0.0.1"), 9210); using (var stream = client.GetStream()) { RequestMessage request = new RequestMessage { Darab = 5 }; MessageSerializer.SerializeTo(stream, request); await Task.Delay(100); Message response = MessageSerializer.SerializeFrom <Message>(stream); WriteResponse(response); } } finally { Console.WriteLine("Client done. Press a key to exit"); Console.ReadKey(); client.Close(); } }
private static async Task ServerTask(TcpListener server, CancellationToken token) { while (true) { if (token.IsCancellationRequested) { break; } TcpClient client = await server.AcceptTcpClientAsync(); using (var stream = client.GetStream()) { while (stream.DataAvailable == false) { } RequestMessage processedRequest = MessageSerializer.SerializeFrom <RequestMessage>(stream); if (token.IsCancellationRequested) { break; } Message responseMessage = CreateResponse(processedRequest.Darab); MessageSerializer.SerializeTo(stream, responseMessage); } } }