Código php

Kr4n3oK

Queria saber si alguien tiene idea de como hacer para :

Hacer un ping a una ip , que es la de mi server de cs , si está on , que me salga una carita verde o "On lin" y si está off , pues lo contrario.
Gracias dese ya.

LOc0


function online($host, $puerto=80, $tiempo_espera=10)
{

$online=TRUE;

$buffer = @fsockopen($host, $puerto);

if (!$buffer) 
	$online=FALSE;
else {

		fwrite($buffer, "PING\n");
		stream_set_timeout($buffer, $tiempo_espera);
		$res = fread($buffer, 256);

		$info = stream_get_meta_data($buffer);
		fclose($buffer);

		if ($info['timed_out']) 
			$online=FALSE;
   
	}

return $online;

}
[/i]

Para usarla:


if( online(IP, PUERTO) )
{
/* CARITA VERDE /
}
else
{
/
CARITA ROJA */
}

No sé si funcionará, pero por probar...

Tb puedes probar con -> http://www.theworldsend.net/download.php?get=php-ping&extension=zip

Salu2 ;)

Kr4n3oK

Thx tio voy a probar.

Kr4n3oK

Pero digo que habrá que definir el host en algún lado no?

No sé algo así.

<?php

$config['host'] = 'localhost';
$config['port'] = '80';

?>

erdanblo

<- nada, que yo soy peor aun ->

xDDDDDDDDD

Soltrac

#4 la función que te ha pasado #2 tiene unos parámetros con ip y puerto y como tercer parámetro opcional el tiempo de espera.

tu simplemente llamas a online('laipdetuservidor',puertoservidor)

SiCk

Más arriesgado: en PHP con exec (en este caso shell_exec) puedes ejecutar comandos de unix (si el servidor es *nix claro). Por lo tanto puedes usar un nmap y manejar el string para saber que hacer.
Pero aconsejo de manera exponencial la función que te han pegado. Esto sólo lo comento pa' que se sepa XD

Usuarios habituales

  • SiCk
  • Soltrac
  • erdanblo
  • Kr4n3oK
  • LOc0