[Python-de] Socket bleibt offfen

Karsten Schulz python at t800.ping.de
Do Mär 15 06:13:11 UTC 2007


Hallo Hartmut,

Am Mittwoch, 14. März 2007 22:50 schrieb Hartmut Goebel:
> Herausgefunden ahbe ich noch, dass der Verbindungs-Abbau
> unvollständig ist:
>
>    8000 > 43211  FIN, ACK

der Server bestätigt das vorherige TCP-Paket und setzt FIN, um das 
Schließen seiner Seite der Verbindung zu verkünden.

>   43211 >  8000  FIN, ACK

der Client bestätigt das vorherige TCP-Paket und setzt FIN, um das 
Schließen seiner Seite der Verbindung zu verkünden.

>    8000 > 43211  ACK

Der Server bestätigt das letzte Paket des Clients. Der Socket befindet 
sich nun im Status TIME_WAIT, um zu verhindern, dass eine andere 
Anwendung diesen Socket (genauer TCP-Port 43211) benutzt und eventuell 
verspätet eintreffende TCP-Pakete der vorherigen Nutzung bekommt. 
Wenn Du diesen Schutz nicht möchtest, setze SO_REUSEADDR, wie an anderer 
Stelle bereits vorgeschlagen wurde.

> Es fehlt also das ACK für das Beenden der Verbindung ducht den
> Server.

Es ist alles in Ordnung. Wenn das gezeigte Verhalten nicht richtig wäre, 
würde das bedeuten, dass der TCP/IP-Stack Deines Betriebssystems kaputt 
ist, nicht das Python Programm.

Gruß
Karsten

-- 
Deutsche Übersetzungen von Fachbegriffen aus der Computerwelt:
Modem (Modulator/Demodulator): VerEnt (Verwurschteler/Entwurschteler)