[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]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..."