Как пропинговать UDP в переполнении стека

У меня есть вопрос о проверке связи с некоторыми игровыми серверами, чтобы увидеть, живы они или нет, большинство работает нормально только с вашим стандартным PHP-пингом, но другие работают с steam … и steam затрудняет мне просто отправку ping на Посмотрим, жив он или нет, я попробовал Steam Condenser, но … понятия не имею, как его использовать, так как нет документации.

мой вопрос

Как я могу пинговать игровые серверы UDP, такие как Arma 2, Arma 3 и т. д. Вот что я попробовал:

        $host = '128.0.0.1';
$port =  1234;
$waitTimeoutInSeconds = 7;
if($fp = fsockopen("udp://".$host,$port,$errCode,$errStr))
{
echo 'Online';
}
else
{
echo 'Offline';
}

проблема в том, что я всегда получаю «true», независимо от того, какой IP или порт я использую, как я могу заставить это работать?

РЕДАКТИРОВАТЬ
Я тоже пробовал

        $host = '128.0.0.1';
$port = 1234;
$waitTimeoutInSeconds = 7;
if($fp = fsockopen("udp://".$host,$port,$errCode,$errStr))
{
$write = fwrite($fp,"x00");
if (!$write)
{
echo 'offline';
}
else
{
echo 'online';
}
}
else
{
echo 'offline';
}
fclose($fp);

Однако с этим я получаю код ошибки 0, который, кажется, проблема с инициализацией сокета?

0

Решение

Я попробовал это, удалив «udp: //»:

 $host = '128.0.0.1';
$port =  1234;
$waitTimeoutInSeconds = 7;
if($fp = fsockopen($host,$port,$errCode,$errStr))
{
echo 'Online';
}
else
{
echo 'Offline';
}

И это работает. Вот текст возврата:

Предупреждение: fsockopen (): невозможно подключиться к 128.0.0.1:1234 (попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, потому что подключенный хост не смог ответить.) В C: \ xampp \ htdocs \ test.php в строке 6
Не в сети

Не думаю, что вы должны ставить «udp: //», потому что достаточно просто использовать номер порта.

0

Другие решения

Что касается использования утилиты ping ОС, выполните команду терминала ping с помощью PHP. Вы можете прочитать это здесь : http://php.net/manual/en/function.shell-exec.php

0

По вопросам рекламы [email protected]