Поясните работу Socket.Recieve - C#
Формулировка задачи:
Читаю MSDN
неужели все так просто, послал запрос, получил ответ? То есть на стороне сервера нужно слушать порт, а на стороне клиента как либо ожидать не нужно ответ, server.Receive() и я получу весь набор байтов ответа? А если сервер подвис? Программа (если не использовать асинхронные методы и Socket.ReceiveTimeout) тоже подвиснет, пока сервер не ответит?
// Blocks until send returns. int i = server.Send(msg); Console.WriteLine("Sent {0} bytes.", i); // Get reply from the server. i = server.Receive(bytes); Console.WriteLine(Encoding.UTF8.GetString(bytes));
Решение задачи: «Поясните работу Socket.Recieve»
textual
Листинг программы
do { bytes = socket.Receive(data, count, data.Length - count, SocketFlags.None); if (bytes == 0) throw new Exception("Connection lost"); count += bytes; } while (count < 10);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д