Как проверить, открыт ли удаленный порт UDP? - PullRequest
0 голосов
/ 08 июня 2018

Чтобы проверить, смогу ли я подключиться к конкретному порту TCP, я использую:

TcpStream::connect_timeout(&socket, Duration...

Нет явного эквивалента с UdpSocket, поэтому хотелось бы знать, что будет работать аналогично.Самое близкое, что я мог найти, - это использовать set_write_timeout, а затем send или send_to, но они дают неправильные результаты в том смысле, что они показывают, что соединение установлено успешно, когда порт даже не открыт с другой стороны.

1 Ответ

0 голосов
/ 20 июня 2018

Вопреки другим ответам и комментариям, есть способ.Подключитесь к нему с помощью connect() и попробуйте несколько посылок.Если API написан правильно, вы должны в конечном итоге получить ошибку, соответствующую базовому сообщению ICMP UNREACHABLE, которое отправляется, если удаленного порта нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...