[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

inetd & UDP



Hola lista...

Estoy haciendo un programa, que funciona con sockets de tipo UDP y STREAM
ocasionalmente. Estos funcionan de maravilla, sin embargo ahora que quiero
implementar algo mas tengo algunos problemas... a lo mejor puedan sugerir
algo... Planteo los puntos por separado:

1. Inicialmente pense en el inetd, para poder tener el programa que ha
hace de servidor como un demonio. Hice unos programitas sencillos por
separado de mi proyecto para probar que onda con el inetd... como lei en
en un howto, la e/s en el servidor se haria a travez de la entrada y
salida estandar en los sockets de tipo stream. Finalmente meti el programa
que hace de servidor en el inetd, reinicie el inetd y trate de conectar
con el programa cliente, pero puras habas! jejeje... no se en que la estoy
regando... en el server utilizo read/write en STDIN_FILENO y
STDOUT_FILENO, en el cliente utilizo sockets normalmente... le puse
algunas rutinas al servidor para que hiciera una especie de "log" de lo
que va ocurriendo, pero nada... lo curioso es que en el cliente tampoco me
pone connection refused, y cuando quito el server del inetd si me pone ya
connection refused... osea, como que jala y como que no jala... que
pasara? le pongo los parametros correctos nowait, el puerto, etc.

2. Entendi que para manejo de datagrams, en el inetd solo le pones que es
de tipo UDP y wait para que no lance nuevamente el servidor cada que llega
un paquete... lo que entendi es que aqui, en vez de enviar/recibir los
datos de la e/s estandar, lanza el servidor el cual debe de recibir los
datagrams, pero tampoco recibe nada, ni como datagram ni de la entrada
estandar... hay algo que este yo omitiendo y por eso tenga lios?

3. Finalmente, el proposito original de este mail es solo para no quedarme
con la duda, pues toda mi estructura base para mis programas de servidor
funcionan con sockets y ya habiendo leido que onda con el inetd me doy
cuenta que todo lo que ya tengo hecho y terminado sirve para un @#!#$@#!$ 
en conjunto con el inetd. Por otro lado, la necesidad original que me hizo
recurrir al inetd es la siguiente: NECESITO QUE EL SERVIDOR SE EJECUTE
COMO DEMONIO... que puedo hacer?

 a) no me sirve con el uso de e/s estandar

 b) quiero evitar el portscan, pues el inetd permite ver por lo
    menos que puertos hay en uso, y muchas veces hasta que servicio

 c) necesito que si se "muere" el servidor vuelva a reiniciarse

Como puedo hacer que el server sea un demonio, pero NO en el inetd?

Saludos!


                                               Miguel Cárdenas
                                               ---------------
                                                reno!@usa.net
                                              reno en geocities com
                                             renito en xoommail com

http://members.xoom.com/renito

"Entre mas conozco, mas ignorante soy..."




[Hilos de Discusión] [Fecha] [Tema] [Autor]