On Thu, 2009-01-22 at 12:31 -0300, Hector Salinas wrote: > Hace un mes que tengo leyendo sobre la programacion al socket > y sobre deamon En linux. Resulta que realice un aplicación (o > pequeño script) que escucha en el puerto 5000 (socket) Y esta > corriendo como demonio (la aplicación eschucha desde un tornique. él > envia el codigo pdf147 a la aplicacion, la aplicación Consulta al > DBMS(mysql). si exite el persona devuelve una "A" al torniquete para > activarlo, de lo contrario La persona no entra). Hasta este punto > todo Bien
Bien, se ve facil. > El drama que tengo es el siguiente(o no se sin tan drama). La > aplicación la realice con PHP-Cli (era lo que mas tenia a mano Ya que > si no se hacia un aplicación rapidamente, se implentaba con la que > venia con el torniquete y esta esta hecha en VB 6 :( ) por > alguna extraña razon el script deja defunciona como demonio y tengo > que volve a ejecutar para que continue escuchando al > torniquete y eso me tiene loco (y llego a la conclusion De que > php-cli no me sirve). Puedes agregar tu script PHP en /etc/inetd.conf y lo programas como si lee/escribe desde la entrada estandar. Ejemplo en BASH: amar...@videopodcast:~$ tail -1 /etc/inetd.conf 9876 stream tcp nowait nobody /home/amartoq/ej.sh amar...@videopodcast:~$ cat /home/amartoq/ej.sh #!/bin/bash echo -n "Bienvenido.. su nombre? " read NOMBRE echo "HOLA $NOMBRE" amar...@videopodcast:~$ telnet localhost 9876 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Bienvenido.. su nombre? Aldrin HOLA Aldrin Connection closed by foreign host. > El OS que esta corriendo es CentOS 5.2 (como me gusta esta distro) al dia > Las preguntas son > 1.- ¿ la ca/&¬€~#· en hacerlo en php-cli? No necesariamente... > 2.- ¿ que lenguaje tendria que usar para este tipo de uso (c, java, python o > algun otro que desconosco) ? Yo te recomiendo python (es realmente facil y elegante, no te costara aprender). Lo que tienes que hacer: 1.- escribir una funcion que haga la pega y probarla 2.- embutir la funcion en un servidor socket. Ejemplo: http://danieldandrada.blogspot.com/2007/09/python-socketserverthreadingtcpserver.html 3.- poner tu programa en /etc/inittab; asi se levanta automaticamente La diferencia con el ejemplo bash/inetd es que esto sera un poco mas "performante" y aprenderas python de paso ;) -- Aldrin Martoq <[email protected]> http://aldrin.martoq.cl/videopodcast/ http://aldrin.martoq.cl/techblog/
signature.asc
Description: This is a digitally signed message part

