Prova così, la soluzione di assegnare un valore ad una variabile in una condizione spesso ti frega, perché te la becca sempre come valida

Codice PHP:
<?php
$fp 
fsockopen("udp://127.0.0.1"numero_porta$errno$errstr2);

if ( ! 
$fp)
{
    echo 
"offline";

else
{
    echo 
"online";
    
fclose($fp);
}
?>