2008-10-21 3 views
3

Рассмотрим следующий код:UdpClient, Receive() сразу после отправки() не работает?

client.Send(data, data.Length, endpoint); 
byte[] response = client.Receive(ref endpoint); 

While, согласно WireShark (сети снифер), удаленный хост имеет ответ с данными, приложение здесь просто ждет данных навсегда ... она не получает ответа от удаленного хоста по некоторым причинам.

Любые идеи?

+2

вы звоните client.Connect()? Если это так, он будет принимать данные только от точки доступа, указанной в методе Connect. – 2008-10-21 14:15:06

ответ

5

Возможно, вы захотите установить два UdpClients: один для прослушивания, один для отправки.

Для принимающего UdpClient используйте конструктор, который принимает порт.

+0

Я сделаю это, спасибо – TimothyP 2008-10-22 19:05:27

1

вероятно удаленный хост имеет брандмауэр, то может не ответ на запрос, прежде, чем отправить запрос установить

client.Client.ReceiveTimeout = 5000; 

так, когда ответ не может получить запрос у вас есть исключение

Смежные вопросы