Cita:
Iniciado por jebus3
Hola de antemano agradecer por el foro que es super bueno
Resulta que tengo que crear una aplicacion en php en donde envie ping a unos servidores y saber si se encuentran activos o no, encontre la siguiente función
@socket_connect($socket, $ip, $puerto)
el problema es que cuando se hace un ping a los servidores estos no trabajan con puerto.
Que puedo hacer para reemplazar esa variable o tendre que buscar otra opción
este es el codigo que tengo para comprobar:
function ping($ip,$port)
{
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_nonblock($sock);
socket_connect($sock,$ip,$port);
$r = array($sock);
$w = array($sock);
$f = array($sock);
$s = socket_select($r, $w, $f, 5);
socket_set_block($sock);
switch($s)
{
case 2:$estado=1;//SERVIDOR OK...
break;
case 1:$estado=0;//SERVIDOR FUERA DE SERVICIO
break;
case 0:$estado=2;//SE AGOTO TIEMPO DE ESPERA
break;
}
return $estado;
}
de antemano gracias
Si son servidores que sirven (valga la redundancia) algún servicio, esos servicios deben estar usando algún puerto.
- 80 para un servidor web
- 21 para un servidor FTP
- 25 para un servidor SMTP
- etc.......
En caso de ser un servidor web también puedes usar la función
fopen()
Saludos!