ayuda para proyecto

Todos los comentarios sobre redes y servidores en linux y su interacción con otros sistemas operativos.

Moderadores: doc, Kde_Tony, ps-ax

Responder
damiavm
Forista Nuevo
Forista Nuevo
Mensajes: 2
Registrado: Mié May 01, 2013 9:48 pm

ayuda para proyecto

Mensaje por damiavm » Sab May 11, 2013 3:03 pm

hola, soy nuevo aqui, tengo que hacer un servidor http en python para el proyecto de final de curso y estoy bastante atascado. tengo hecha la estructura modular y algo de codigo como para abrir sockets y eso. ahora pongo el enunciado del proyecto y si alguien me podria ayudar se lo agradeceria mucho.

Descripción general del sistema
El proyecto consiste en la programación, con el lenguaje Python, un servidor del protocolo HTTP.
servidor HTTP

El servidor debe implementar estas funcionalidades obligatorias:
Utilizando sockets esperar peticiones en un puerto TCP.
Responder a peticiones de archivos estáticos de diferentes tipos MIME.
Responder a los errores de cliente o servidor con respuestas HTTP apropiadas.
Para hacerlo sencillo el servidor atenderá sólo una conexión a la vez.
El servidor implementa timeouts en las comunicaciones con los clientes de tal forma que el malfuncionamiento del cliente no puede bloquear la actividad del servidor.
Permitir configurar los aspectos necesarios de su funcionamiento en base a un fichero de configuración.
Registrar por separado en ficheros de logs las peticiones y errores producidos, detallando quién, cuándo y qué.
Ejecutarse opcionalmente en modo debug (ejecutándose en primer plano y generando más información de ejecución).
Permitir administrar su funcionamiento como hacen los otros servicios de Fedora.
El servidor debe ejecutarse o bien en primer plano o bien en el background, liberándose de terminal de control (se puede conseguir este efecto con órdenes del Shell como la clásica nohup servidor & o la más moderna servidor & disown) .
Una vez en funcionamiento, el servidor debe responder a señales para detener de forma limpia su funcionamiento o para releer su fichero de configuración.
Ejecutar scripts CGI escritos en cualquier lenguaje (python, bash, etc.) Pedidos tanto con método GET como POST. Los scripts de demostración estarán escritos en python.

Funcionalidades opcionales, que no sustituyen a ninguna de las anteriores:
Liberar el servidor del terminal de control usando sólo Python.
Usar TLS / SSL para hacer conexiones seguras.
Gestionar conexiones concurrentes.
Entregar el sistema en un archivo RPM.

Cualquier documento HTML creado debe ser validable como XHTML 1.0 estricto. Una sola violación de esta norma impedirá superar el crédito.
Hay que programar de forma modular, de forma que las funciones no tengan, en general, más de 50 líneas (comentarios incluidos). Para evitar que el código "top level" del archivo principal, situado fuera de ninguna función, crezca de forma incontrolada, se recomienda que este código "top level" en el fichero principal sea como éste:

import …
def main():

return 0
sys.exit( main() )

Los servicios necesarios para implementar las funcionalidades de gestión de logs, archivos de configuración y de ejecución de scripts CGI, se deben implementar obligatoriamente en módulos separados, de forma que puedan ser importados desde el archivo principal y también ejecutados directamente a fin de depurar por separado. El aspecto básico de estos módulos puede ser similar a este:

import …
__all__ = ('serveiX', …)
def serveiX():
… return Y
if __name__ == "__main__":
codi de test…

Esto es todo. si me podeis ayudar os lo agradeceria muchisimo si no gracias por prestarme algo d atencion!
Avatar de Usuario
mcun
Administrador
Administrador
Mensajes: 3888
Registrado: Lun Abr 19, 2010 12:30 am
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)
Contactar:

Re: ayuda para proyecto

Mensaje por mcun » Mar May 14, 2013 8:27 pm

Ayudar no significa hacer toda tu tarea ....

Veamos dinos que parte del proyecto no te sale
Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.

Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun
Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809
Avatar de Usuario
kagure
Moderador
Moderador
Mensajes: 28
Registrado: Vie Nov 26, 2004 8:00 am
Contactar:

Re: ayuda para proyecto

Mensaje por kagure » Jue Jun 13, 2013 4:52 am

Es cierto no te haremos toda la tarea pero puedes empezar por el principio.
http://docs.python.org/2/library/basehttpserver.html
http://www.linuxjournal.com/content/tec ... ver-python
http://casatux.blogspot.com/2009/08/sim ... ython.html

Y te digo que con una simple busqueda te ahorras varias cosas
Aproximadamente 102.000.000 resultados para server http in python.
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje