Как получить нулл если сервер не работает

вот я хочу сделать плагин на получения онлайна, но если сервер будет закрыт - то пускай выведет нулл.
$socket = fsockopen(“udp://”.$hostname, $port);
stream_set_timeout($socket, 1);
fwrite($socket, “\x01\0\0\0\0\0\0\0\0\x00\xff\xff\x00\xfe\xfe\xfe\xfe\xfd\xfd\xfd\xfd\x12\x34\x56\x78”);
$online = ($data = fread($socket, 1024)) !== false ? (int)explode(“;”, ($str = substr($data, 40)) === false ? “” : $str) : 0;
return $online;

$socket = fsockopen(“udp://”.$hostname, $port);
stream_set_timeout($socket, 1);
fwrite($socket, “\x01\0\0\0\0\0\0\0\0\x00\xff\xff\x00\xfe\xfe\xfe\xfe\xfd\xfd\xfd\xfd\x12\x34\x56\x78”);
$online = ($data = fread($socket, 1024)) !== false ? (int)explode(“;”, ($str = substr($data, 40)) === false ? null : $str) : 0;

если будешь такую магию отправлять, лайткор не будет возвращать онлайн

лучше отправлять ConnectedPing и ловить ConnectedPong, из которого доставать онлайн

У меня форк генки, я там всё пообрезал, и фиксы написал

вот мой плагин лучше используй

Ты написал фиксы и не смог в таком простом коде сделать чтобы кидало нуль?

Я конечно знаю php, но не разбираюсь маленько в этих ? И : , документацию почитаю потом, и подучу.

это называется тернарный оператор.

допустим есть две переменные:

$var = true;
$var2 = false;
echo($var ? 'Я тру' : 'Я фолс'); 

Выведет “Я тру”, потому что часть (в нашем случае переменная $var) до вопроса (?) принимает значение True

echo($var2 ? 'Я тру' : 'Я фолс');

Выведет “Я фолс”, потому что часть (в нашем случае переменная $var2) до вопроса (?) принимает значение False

тернарный оператор можно записать условием:

if($var === true){ //не пиздите про сравнение тру с тру, я так сделал, чтобы было понятнее
    echo 'Я тру';
}else{
    echo 'Я фолс';
}

не пиздим про сравнение тру с тру, он так сделал, чтобы было понятнее

А здесь он не делал чтобы было не понятнее

Здесь тоже

почему не unconnected

Рил