lokaler HTTP Server ohne Netz sehr langsam

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
pcos
User
Beiträge: 16
Registriert: Dienstag 3. April 2007, 14:21

Hallo,

ich starte auf WIN XP mit BaseHTTPServer einen Server auf "localhost", und alles funktioniert, ich komme sowohl von Firefox als auch von Python (über urlopen) an den Server. Das Problem ist: Wenn mein Computer im Netz ist, geht das in Sekundenbruchteilen, wenn mein Computer offline ist, dauert jeder Zugriff einige Sekunden. Woran liegt das?

Ich brauche das ganze übrigens zur Kommunikation mit einem Java-Programm auf dem selben Rechner, dem ich nur so Daten übergeben kann; wenn dieses Programm auf meinen Python-Server zugreift, besteht genau das gleiche Problem: offline dauert's.

Ich habe wenig bis null Ahnung von HTTP usw... Liegt das nicht an Python, sondern an irgendwelchen OS-Dingen? Vielen Dank, falls mir jemand einen Tipp geben kann.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Das liegt wohl daran das der Computer versucht einen DNS Loopup zu machen was jedoch nicht funktioniert wenn er offline ist.

BaseHTTPRequestHandler.address_string zu überladen sollte das Problem lösen.

Gruss,
Jonas
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Für IPC gibt es auf jeden Fall bessere Lösungen wie einen HTTP Server!

(XML)-RPC, CORBA, Sockets, ...
pcos
User
Beiträge: 16
Registriert: Dienstag 3. April 2007, 14:21

Danke, BaseHTTPRequestHandler.address_string überschreiben funktioniert, in der Implementierung in BaseHTTPRequestHandler ist wohl ein socket.getfqdn(host) das Problem.
Für IPC gibt es auf jeden Fall bessere Lösungen wie einen HTTP Server!
Völlig klar, aber das Java-Programm (nicht mein eigenes!), um das es geht, will einen haben. Das Ding ist ziemlich komplex, und ich habe keine Lust, mich da durchzuwühlen und dran zu drehen, solange es auch so funktioniert.
Antworten