У меня есть клиент-серверное приложение 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);
}
}