Foros del Web » Programando para Internet » PHP »

Problema: fread en Puerto Serie

Estas en el tema de Problema: fread en Puerto Serie en el foro de PHP en Foros del Web. Hola a todos. Un script php corriendo en windows 2000. Estoy usando las funciones fopen, fread etc para comunicarme por el puerto serie (COM) con ...
  #1 (permalink)  
Antiguo 24/02/2005, 10:01
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 419
Antigüedad: 20 años, 8 meses
Puntos: 1
Problema: fread en Puerto Serie

Hola a todos. Un script php corriendo en windows 2000. Estoy usando las funciones fopen, fread etc para comunicarme por el puerto serie (COM) con una máquina que no puede hacerlo de otra manera dado el antiguo sistema que tiene.

El problema es que a veces el script se bloquea en determinadas circunstancias, por ejemplo cuando está leyendo y espera datos (el fread) y éstos no aparecen por cualquier motivo. El resultado es desastroso, todo el servicio web queda bloqueado. Alguien sabe como puedo (si es posible) tener control sobre este tema y evitarlo. No puedo poner un contador en un bucle o algo similar porque en cuanto hace el fread se pierde el control de la ejecución del script. Es radical: o aparecen datos en el COM o se queda esperando en situación de bloqueo.

Gracias y un saludo.
  #2 (permalink)  
Antiguo 24/02/2005, 10:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Deberías usar sockets .. ahí si que tienes controles (parámetros) para establecer "time out" de una conexión y demás historias .. Revisalo:

http://www.php.net/sockets

Un saludo,
  #3 (permalink)  
Antiguo 24/02/2005, 10:54
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 419
Antigüedad: 20 años, 8 meses
Puntos: 1
Pero con la máquina con la que tengo que comunicarme sólo se comunica por el puerto COM, ¿se puede abrir un socket al COM y usarlo para leer / escribir?
  #4 (permalink)  
Antiguo 24/02/2005, 11:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues .. no sé (no lo he probado) .. con esos "sockets" tu abres una comunicación TPC/IP o UDP si mal no recuerdo .. de ahí a un "COM" no sé .. realmente PHP no se inventó para esas taréas. De hecho tal vez te venga mejor (o tendrás que desarrollar?) una aplicación en un lenguaje de escritorio (lease: C, VIsual Basic .. etc) que abra ese puerto y deje su resultado disponible por TCP/IP o UDP .. así podrás tomarlo desde PHP con sockets

Un saludo,
  #5 (permalink)  
Antiguo 24/02/2005, 12:08
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 419
Antigüedad: 20 años, 8 meses
Puntos: 1
He estado leyendo y efectivamente no parece que con las funciones de socket pueda comunicarme con los COM. Como siempre, me encargan cosas 'increibles de hacer' y como programo en PHP adecué como pude este tema de la comunicación PHP<->COM.
Tomo nota de todo lo dicho y muchas gracias.
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 14:08.