Я хотел бы проверить, работает ли служба за портом UDP на внешнем компьютере.
Идея состоит в том, что пользователь сможет посетить веб-страницу и получить информацию о том, что он правильно открыл порт 9999 в своем маршрутизаторе.
Служба, которую они используют, использует UDP-порт 9999.
На данный момент у меня есть это.
<?php
$ip = '123.456.789.000';
$address = "udp://".$ip;
if(fsockopen($address, 9999))
{
print "Port 9999 is Open!";
}
else
{
print "Port 9999 is Closed!";
}
?>
Вышеуказанное просто и отлично работает для порта TCP.
Но проблема, с которой я столкнулся, заключается в том, что при использовании UDP он всегда показывает, что порт открыт.
Любые указатели приветствуются.
Я смотрел на Как проверить прослушивание UDP-порта или нет в php? , но это работает только внутренне (то есть я не могу связать порт) AFAIK?
Мне нужно проверить, открыт ли порт на внешней машине.
Я также смотрел на множество других, пытающихся что-то собрать, но пока не справился.