Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/05/2010, 11:45
Avatar de Synkronice
Synkronice
 
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: duda con socket

Cita:
Iniciado por jebus3 Ver Mensaje
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!
__________________
El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes.

Winston Churchill