Código PHP:
<?php
$sock = fopen('COM4:','w+b');
echo stream_set_blocking($sock, 0) ? "Éxito\n" : "Error\n";
fclose($sock);
| |||
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: Última edición por abcdefghi; 04/04/2010 a las 18:53 |
| ||||
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 |
| |||
Respuesta: Conexión a puerto COM en modo de no bloqueo Cita: 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é.
Iniciado por abimaelrc Mira lo que indican en estos mensaje, lee los dos últimos http://www.forosdelweb.com/f18/puede...on-php-376948/ Entiendo que es una pregunta que no es para cualquiera, pero si a alguien le paso o conocen un workaround, se los agradecería. |
| ||||
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 |
| |||
Respuesta: Conexión a puerto COM en modo de no bloqueo Cita: Gracias, por favor no me mal interpretes el comentario acerca del post que me indicaste no me referia a vos, por el contrario.
Iniciado por abimaelrc 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 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: |