Foros del Web » Programando para Internet » PHP »

PHP socket en centos

Estas en el tema de PHP socket en centos en el foro de PHP en Foros del Web. Hola a todos. Espero haber colocado esta duda en el lugar correcto, si no es asi, pido una disculpa. Soy nuevo en el foro y ...
  #1 (permalink)  
Antiguo 14/07/2010, 15:35
 
Fecha de Ingreso: julio-2010
Mensajes: 1
Antigüedad: 13 años, 9 meses
Puntos: 0
PHP socket en centos

Hola a todos.

Espero haber colocado esta duda en el lugar correcto, si no es asi, pido una disculpa.
Soy nuevo en el foro y me gustaria que me ayudaran con esta aplicacion que estoy haciendo. Mi consulta es la siguiente:

Estoy realizando una aplicación con socket entre un modulo rabbit (el RCM3720) esta se puede programar con socket para una comunicacion con una computadora.

El problema que tengo es que el script que tengo en la computadora hace un ciclo infinito cuano intetna aceptar las conexiones de la tarjeta.

Este es el script que utilizo:
echo "<h2>Conexion TCP/IP</h2>\n";
$sourceips['servidor'] = gethostbyname('servidor.ssthp.com');

// Obtener la direccion IP del host de destino.
$puerto = 80;
$direccion = gethostbyname('rabbit.ssthp.com');

// Crear un socket TCP/IP.
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if($socket == FALSE)
{
//Describe el error al intentar conectar el socket
echo "socket_create() fallo al crear ";
$code = socket_last_error();
$error = socket_strerror($code);
die("Motivo: [$error] $errormsg");
}
else
if($socket == TRUE)
{echo "Socket OK---";}

//Asociando bind
$resultado = socket_bind($socket, $sourceips['servidor']);
if($resultado == FALSE)
{
//Describe el error al intentar conectar el socket
echo "Error en socket_bind()---";
$code = socket_last_error();
$error = socket_strerror($code);
die("Motivo: [$error] $errormsg---");
}
else
if($resultado == TRUE)
{echo "Bind OK---";}

// Establecer conexion
do{
$resultado = socket_create_listen(80);
if($resultado == FALSE)
{
//Describe el error al intentar escuchar peticion del host
echo "Error en socket_create_listen()---";
$code = socket_last_error();
$error = socket_strerror($code);
die("Motivo: [$error] $errormsg---");
break;
}
if($resultado == TRUE)
{echo "Peticion escuchada---";}

//Atendiendo peticiones
do{
$rabbit = socket_accept($resultado);
if($rabbit == FALSE)
{
//Describe el error al intentar conectar el socket
echo "Error en socket_accept()---";
$code = socket_last_error();
$error = socket_strerror($code);
die("Motivo: [$error] $errormsg---");
break;
}
if($rabbit == TRUE)
{
echo "Se acepto la peticion---";
socket_close($rabbit);
echo "Socket rabbit cerrado OK.\n\n";
}
}while(TRUE);
}while(TRUE);
echo "Socket cerrado OK.\n\n";
socket_close($socket);//*/
?>

Algo extraño es q si comento la funcion socket_accept() y lo corro en un pagina de internet este escucha una peticion aun con la tarjeta rabbit apagada.
Mi experiencia progrmando estos lenguajes en casi nula, puede que sea algo muy absurdo pero llevo varios intentos y no he obtenido resultados. Espero su respuesta y de antemano muchas gracias.
  #2 (permalink)  
Antiguo 14/07/2010, 15:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Tema movido desde Configuración PHP a PHP

Etiquetas: centos, 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 18:04.