Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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);
                }
            }
        }