Foros del Web » Programando para Internet » PHP »

Conexión a puerto COM en modo de no bloqueo

Estas en el tema de Conexión a puerto COM en modo de no bloqueo en el foro de PHP en Foros del Web. Estoy tratando de realizar una conexión a puerto COM en modo no bloqueo pero siempre falla, no puedo usar dio_open porque está discontinuado, algún workaround ...
  #1 (permalink)  
Antiguo 04/04/2010, 08:53
 
Fecha de Ingreso: enero-2010
Mensajes: 191
Antigüedad: 9 años, 9 meses
Puntos: 7
Conexión a puerto COM en modo de no bloqueo

Estoy tratando de realizar una conexión a puerto COM en modo no bloqueo pero siempre falla, no puedo usar dio_open porque está discontinuado, algún workaround por ahí?

Código PHP:
<?php

$sock 
fopen('COM4:','w+b');
echo 
stream_set_blocking($sock0) ? "Éxito\n" "Error\n";
fclose($sock);

Última edición por abcdefghi; 04/04/2010 a las 18:53
  #2 (permalink)  
Antiguo 04/04/2010, 11:18
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 4 meses
Puntos: 1516
Respuesta: Conexión a puerto COM en modo de no bloqueo

Mira lo que indican en estos mensaje, lee los dos últimos http://www.forosdelweb.com/f18/puede...on-php-376948/
__________________
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 04/04/2010, 15:18
 
Fecha de Ingreso: enero-2010
Mensajes: 191
Antigüedad: 9 años, 9 meses
Puntos: 7
Respuesta: Conexión a puerto COM en modo de no bloqueo

Cita:
Iniciado por abimaelrc Ver Mensaje
Mira lo que indican en estos mensaje, lee los dos últimos http://www.forosdelweb.com/f18/puede...on-php-376948/
Lo he chequeado pero le han dado información incorrecta, básicamente no tienen ni noción de lo que están hablando, excepto los dos últimos. Es más me funciona perfectamente en linux pero quiero además que funcione en windows y ahí no me está funcionado el modo no bloqueo y no se porqué.

Entiendo que es una pregunta que no es para cualquiera, pero si a alguien le paso o conocen un workaround, se los agradecería.
  #4 (permalink)  
Antiguo 04/04/2010, 17:42
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 4 meses
Puntos: 1516
Respuesta: Conexión a puerto COM en modo de no bloqueo

Por eso te indique mirarás los dos últimos. Según la forma de lograrlo es usando una aplicación externa y llamando luego esa aplicación con PHP. Ahora, esperemos que alguien haya trabajado con ello en window si tiene otra alternativa te pueda indicar. Además el ejemplo que das tiene un error en el operador ternario.

Edito:
Encontre esta información que te puede ayudar http://www.forosdelweb.com/f18/comun...serial-435902/
Y aquí una extensión para la comunicación con el puerto serial http://www.easyvitools.com/download/download.php
No sé si esto también te ayudé http://www.easyvitools.com/phpserial...reference.html
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 04/04/2010 a las 18:03
  #5 (permalink)  
Antiguo 04/04/2010, 18:53
 
Fecha de Ingreso: enero-2010
Mensajes: 191
Antigüedad: 9 años, 9 meses
Puntos: 7
Respuesta: Conexión a puerto COM en modo de no bloqueo

Cita:
Iniciado por abimaelrc Ver Mensaje
Por eso te indique mirarás los dos últimos. Según la forma de lograrlo es usando una aplicación externa y llamando luego esa aplicación con PHP. Ahora, esperemos que alguien haya trabajado con ello en window si tiene otra alternativa te pueda indicar. Además el ejemplo que das tiene un error en el operador ternario.

Edito:
Encontre esta información que te puede ayudar http://www.forosdelweb.com/f18/comun...serial-435902/
Y aquí una extensión para la comunicación con el puerto serial http://www.easyvitools.com/download/download.php
No sé si esto también te ayudé http://www.easyvitools.com/phpserial...reference.html
Gracias, por favor no me mal interpretes el comentario acerca del post que me indicaste no me referia a vos, por el contrario.

En realidad estoy portando una aplicación de Perl a PHP por el contrario a lo que muchos piensan el acceso a puertos COM en windows lo proveen todos los lenguage sin ningún modulo, tanto Perl como PHP tienen capacidad para manejarlo, es un mito que se necesite una aplicación externa, recuerdo en Perl, hace muchos años, que enviaba comando PCL3 o ESC/P2 a las impresoras, en general el formato es de texto y se puede interactuar perfectamente.

En PHP en linux funciona perfecto, pero en Windows no logro generar una conexión no bloqueante y me llama la atención o es un bug o algo porque debería soportarlo perfectamente.

Los links que me has enviado son interesante pero no me han ayudado a resolver el problema, yo en general antes de preguntar siempre busco mucho, de hecho al tema que indico lo vi posteado como un posible bug, pero no tenía respuesta por el equipo de PHP, estimo que no lo debe ser sino que lo estoy haciendo mal, el tema es que no se en donde.

Muchas gracias, saludos.

PD: Ya está arreglado el operador, pero recuerden que no lo pueden llevar a la práctica a menos que tengan un dispositivo conectado y la conexión al mismo esté libre.

Etiquetas: bloqueo, modo, puerto
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:23.