Foros del Web » Programando para Internet » PHP »

problemas con los sockets en php

Estas en el tema de problemas con los sockets en php en el foro de PHP en Foros del Web. Tengo el siguiente problema: abro dos sockets con la funcion fsockopen() que hacen referencias a la misma maquina pero a puertos diferentes y con ambos ...
  #1 (permalink)  
Antiguo 15/03/2004, 14:36
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 1 mes
Puntos: 7
Sonrisa problemas con los sockets en php

Tengo el siguiente problema:
abro dos sockets con la funcion fsockopen() que hacen referencias a la misma maquina pero a puertos diferentes y con ambos sockets envio datos a un servidor java. Con el primer socket abierto simpre me llegan bien los datos pero con el segundo socket siempre me da el siguiente error:

Warning: Supplied argument is not a valid File-Handle resource in c:\apache\htdocs\prueba3\validacion2.php on line 26


donde la linea 26 contiene:

fputs($conexion,$saludo); y donde anteriormente tengo:

$conexion=fsockopen("localhost",5000);
$saludo="hola";

Me sale el mismo error en la linea donde tengo:

fclose($conexion);


Si alguien pudiera ayudarme se lo agradeceria. ¿No sera que no se puede abrir 2 sockets en php sobre la misma maquina?
  #2 (permalink)  
Antiguo 15/03/2004, 15:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Un error de "File-Handle" indica que no se le está proporcinando un socket abierto correctamente ...

Revisa si tu socket se abrió correctamente .. fsockopen() devuelve un "false" si no conectó .. Puedes usarlo con un if() y asegurarte que conectó.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 15/03/2004 a las 15:06
  #3 (permalink)  
Antiguo 16/03/2004, 04:19
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 1 mes
Puntos: 7
otra vez lo de los sockets con php

En la respuesta anterior decias que pusiera un if() a la funcion fsockopen() para ver que me daba y obtengo false, es decir, no se me abre el socket. Pero el codigo que tengo es el siguiente:

<?
//Abrimos la conexión
echo "Abriendo conexión: asignando socket...";

$escucha=fsockopen("localhost",2500);
$conexion=fsockopen("localhost",5000);
if(!$conexion)
echo "no se pudo abrir el socket";
echo "<.br>";
echo "<br>";

y el primero socket(el de $escucha) se me abre pero el de $conexion no se me abre. Porque? si hago lo mismo para abrir los dos sockets. Se puede abrir dos sockets en la misma maquina?

Gracias por responder antes
  #4 (permalink)  
Antiguo 16/03/2004, 06:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues ahí no tengo idea como trabaja PHP a nivel interno .. Revisa la documentación de esas funciones (sockets) en general a ver si menciona alguna restricción al respecto.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 16/03/2004, 06:25
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
como cluster no se, pero no se muy bien como trabajan lo sokets a nivel interno, pero no se necesita darle un puerto al soket??
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 10:33.