UdpClient, Receive () сразу после Send () не работает?
-
03-07-2019 - |
Вопрос
Рассмотрим следующий код:
client.Send(data, data.Length, endpoint);
byte[] response = client.Receive(ref endpoint);
Хотя, согласно WireShark (сниффер сети), удаленный хост отвечает с данными, приложение здесь просто ожидает данные вечно ... по какой-то причине оно не получает ответ от удаленного хоста.
Есть идеи?
Решение
Вероятно, вы хотите настроить два UdpClients: один для прослушивания, другой для отправки.
Для получения UdpClient используйте конструктор, который принимает порт.
Другие советы
возможно, на удаленном хосте установлен брандмауэр, и он не смог ответить на запрос, перед тем как отправить запрос, установите
client.Client.ReceiveTimeout = 5000;
поэтому, когда ответ не может получить запрос, у вас есть исключение
Не связан с StackOverflow