Foros del Web » Programando para Internet » PHP »

duda con socket

Estas en el tema de duda con socket en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 18/05/2010, 11:42
 
Fecha de Ingreso: febrero-2010
Ubicación: Santiago
Mensajes: 82
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta duda con socket

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
  #2 (permalink)  
Antiguo 18/05/2010, 11:45
Avatar de 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
  #3 (permalink)  
Antiguo 18/05/2010, 12:05
 
Fecha de Ingreso: febrero-2010
Ubicación: Santiago
Mensajes: 82
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: duda con socket

Gracias Synkronice entonces averiguare los puertos a los que pertenecen los servicios que prestan los servidores,

pero habra alguna otra forma de averiguar si los servidores mediante ping estan en servicio o no???


gracias
  #4 (permalink)  
Antiguo 18/05/2010, 12:16
Avatar de 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
Gracias Synkronice entonces averiguare los puertos a los que pertenecen los servicios que prestan los servidores,

pero habra alguna otra forma de averiguar si los servidores mediante ping estan en servicio o no???


gracias
Si los servidores están configurados para no contestar a pings lo tienes crudo. De todas formas te recomiendo que te pases por el foro de servidores, sistemas y redes para que te asesoren mejor. Ya que antes de saber como consultar el estado de los servidores primero debes saber como verificar su estado, y en dichos foros te pueden aportar mas información que en este foro.

Saludos!
__________________
El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes.

Winston Churchill
  #5 (permalink)  
Antiguo 18/05/2010, 13:30
 
Fecha de Ingreso: febrero-2010
Ubicación: Santiago
Mensajes: 82
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: duda con socket

Muchas gracias Synkronice solo tube que cambiar el nro de puerto a telnet(23) con el cual trabaja esta funcion y me funciono antes lo tenia en el 80
  #6 (permalink)  
Antiguo 18/05/2010, 13:31
Avatar de 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
Muchas Synkronice gracias solo tube que cambiar el nro de puerto a telnet(23) con el cual trabaja esta funcion y me funciono
Me alegro que hayas encontrado la solución!!! Felicidades :)

saludos!
__________________
El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes.

Winston Churchill

Etiquetas: socket
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:30.