首页 > 解决方案 > 等待来自服务器 .net Tcp 的数据

问题描述

我有 Tcp 客户端-服务器应用程序。客户端将数据写入流,并等待来自服务器的数据。

但是服务器的工作时间接近 10-15 秒,那么客户端如何更好地等待来自服务器的数据呢?在后台线程中放置一些“服务员”方法或让客户端休眠一段时间?

客户:

 client.Connect(ip, serverPort);
                Thread.Sleep(500);
                using (NetworkStream stream = client.GetStream())
                {
                    XmlSerializer xmlSerializer = new XmlSerializer(user.GetType());
                    xmlSerializer.Serialize(stream, user);
                    Thread.Sleep(250);
                    //WaitSignal(client);
                }

服务器:

         TcpListener listener = new TcpListener(ip, serverPort);
         string msg = "Hello;"
         listener.Start();
            while (true)
            {
                Console.WriteLine("Wait...");
                TcpClient client = listener.AcceptTcpClient();
                using (NetworkStream stream = client.GetStream())
                 {
                  //read bytes from stream and do some work

                   byte[] data = Encoding.ASCII.GetBytes(msg);
                   stream.Write(data, 0, data.Length);
                 }
            }

标签: c#.netmultithreadingasynchronoustcp

解决方案


推荐阅读