Re: Respuesta l entísim a de SimpleXMLRPCServer en windows xp [SOLUCIONADO]
Sio2 <[email protected]> Wed, 16 Dec 2009 21:47:53 +0100
| Newsgroups | gmane.comp.python.general.castellano |
|---|---|
| Message-ID | <[email protected]> |
> Has probado a pasarle el profiler?
:)
Te declaro mi amor incondicional.
No lo hab=EDa hecho, he seguido tu consejo... y ya s=E9 la causa. Se lo h=
e
pasado al servidor:
C:\...\> python -m cProfile wserver.py
(wserver.py es el cutreservidor web que dej=E9 escrito antes)
He hecho una petici=F3n y lo he cortado. Me ha volcado el profiler la
informaci=F3n y me ha escamado esto:
1 0.000 0.000 4.524 BaseHTTPServer.py:478(address_string)
Ah=ED est=E1n mis famosos 4 segundos y medio. Ah=ED y en otras funciones =
que
supuse que invocaban a esta y por eso tambi=E9n tardaban en ejecutarse 4,=
5
segundos.
He ido a la documentaci=F3n y he le=EDdo:
address_string()
Returns the client address, formatted for logging. A name lookup is
performed on the client's IP address.
Y, efectivamente, el =FAnico servidor windows que me funcion=F3 bien esta=
ba
en una red donde todas las m=E1quinas ten=EDan nombre. As=ED que me he id=
o
directamente al fichero hosts de mi windows virtual le he asociado un
nombre cualquiera a la ip del cliente y el problema ha desaparecido. Ese
era el problema: que el servidor se tiraba 4,5 segundos buscando un
nombre que no exist=EDa. Supongo que tras ese tiempo, temporizaba y
devolv=EDa la respuesta.
=BFC=F3mo solucionar=EDais el problema de una forma elegante? Supongo que
redefiniendo el m=E9todo address_string de BaseHTTPRequestHandler, pero
c=F3mo, porque no tengo ni idea de c=F3mo conocer la ip del cliente dentr=
o
de esa clase.
Much=EDsimas gracias.
--=20
Todos los hombres que no tienen nada importante que decir
hablan a gritos.
--- Enrique Jardiel Poncela ---
_______________________________________________
Lista de correo Python-es=20
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes