Foros del Web » Programando para Internet » PHP »

Dudas con socket en php

Estas en el tema de Dudas con socket en php en el foro de PHP en Foros del Web. Quiero hacer un script en php capaz de mandar una especie de ping a un servidor para asegurarse que este esté online, navegando y navegando ...
  #1 (permalink)  
Antiguo 05/06/2011, 11:12
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Dudas con socket en php

Quiero hacer un script en php capaz de mandar una especie de ping a un servidor para asegurarse que este esté online, navegando y navegando encontré unos ejemplos de ping y en sintesis hice el siguiente código pero no importa que ip ponga siempre indica que no puede conectar ademas que no respeta el timeout que se supone que es 4 segundos. ¿Que problema puede haber?

Código PHP:
<?php
    $socket
=socket_create(AF_INETROCK_RAW1);
    
socket_set_option($socketSOL_SOCKETSO_RCVTIMEO, array('sec' => 4'usec' => 0));
    
socket_connect($socket'74.125.157.99'null);
    
    
$package "\x08\x00\x7d\x4b\x00\x00\x00\x00PingHost";
    
socket_send($socket$packagestrlen($package), 0);
    
    if (
socket_read ($socket255) )
    {
        echo 
'si conecta';
    } else {
        echo 
'no conecta';
    }
    
    
?>
Saludos, muchísimas gracias de antemano.
  #2 (permalink)  
Antiguo 05/06/2011, 11:26
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Dudas con socket en php

Verifica este tema http://forosdelweb.com/2964998-post2.html
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 05/06/2011, 11:33
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: Dudas con socket en php

Si, tenía en mente la opción de usar sistem() o exec() pero quiero/necesito utilizar sockets

Editado
Indagando un poco mas encontré lo siguiente

Código PHP:
<?php

  $timeout 
= array('sec'=>1,'usec'=>500000);
  
socket_set_option($socket,SOL_SOCKET,SO_RCVTIMEO,$timeout);
  
var_dump(socket_set_option($socket,SOL_SOCKET,SO_RCVTIMEO));

?>
En los comentarios decían que no puede usarse en windows, justo estoy bajo windows, entonces ¿es problema de código o de plataforma?

Saludos

Última edición por Carlmycol; 05/06/2011 a las 11:56
  #4 (permalink)  
Antiguo 05/06/2011, 20:05
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: Dudas con socket en php

Lo he solucionado, un problema de código, disculpen.

Resulta que Windows el comando php no te muestra errores de interpretación mientras que linux si, ahora se mi error, el socket no podía abrirse porque escribí ROCKET en vez de SOCKET. Muchas gracias por responder de igual forma.

Saludos
  #5 (permalink)  
Antiguo 05/06/2011, 20:09
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Dudas con socket en php

Si en windows no te muestra es porque tienes escondido los errores. Porque ese tipo de error te diría fatal error....
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: dudas, 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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:13.