Haber segun la expecificacion de la funcion timeout.
El ultimo argumento de la funcion es el timeout
resource fsockopen ( string target [, int port [, int &errno [, string &errstr [, float
timeout]]]] )
Asi que hay deberias expecificar el tiempo maximo para la conexion, Ahora si lo que quieres es realizar un comando si esque no ubo conexion. Hay un ejemplo en php.net sobre esto.
Código PHP:
<?php
$fp = fsockopen("url", 80);
if (!$fp) {
echo "Unable to open\n";
} else {
fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
stream_set_timeout($fp, 2);
$res = fread($fp, 2000);
$info = stream_get_meta_data($fp);
fclose($fp);
if ($info['timed_out']) {
echo 'Connection timed out!';
} else {
echo $res;
}
}
?>
Entonces si no se conecto se ejecuta la sentencia del f ($info['timed_out']) e imprime un msg.
Saludos