-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hallo, ich versuche gerade für einen Bugreport einen (fast) minimalen Socket Server und Client zu bauen. Der Server soll einen Request bearbeiten und sich dann beenden. Der Client liest nur vom Server. Nachdem Client und Server ihre Arbeit getan haben, hängt aber noch eine Socket-Verbindung in Status TIME_WAIT herum. Ich finde nicht, wo der Haken ist. Nur, wenn ich das file.read() im Client weg lasse, wird der Socket sauber geschlossen. Was mache ich falsch? ...8<-------- Server ------- import SocketServer import sys MyRequestHandler = SocketServer.StreamRequestHandler if sys.argv[1:]: port = int(sys.argv[1]) else: port = 8000 server_address = ('', port) d = SocketServer.TCPServer(server_address, MyRequestHandler) print "Serving on %s port %s ..." % d.socket.getsockname() # handle one request only d.handle_request() print d.socket d.server_close() ...8<----------------------- ...8<-------- Client ------- import socket import sys if sys.argv[1:]: port = int(sys.argv[1]) else: port = 8000 server_address = ('localhost', port) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect(server_address) file = sock.makefile() # wenn man die nächste Zeile weg laesst, schliesst der socket sauber print file.read(), file.close() sock.close() ...8<----------------------- - -- Schönen Gruß - Regards Hartmut Goebel Goebel Consult - Wir machen IT sicher - www.goebel-consult.de -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org iQEVAwUBRfhmv8zajR0mSa83AQIingf+LFh3Z+z1TF52womIBytSrXa77adk6Hsg LgRTfsBZm/dBt2DXFEx1XyudUmaX8AMN1x2QoOLnBakgji3QL2dOHZmXysL0fSeO RtHN4CfQVkS2zl296FlXMAhxjx2f734RVUrH6aZhggrG8aeJsSLW1UHbYuMBZTbJ 6yioje4hS25HDCf7RCAZsrMT8UZ2b9OodazkqU7w7JVrcdisxVTquu9f3mfCsaTo oOA3k5s5z0GO10PuyOf80ZBMjl8wTl/xxFZN//pDkPIM9Q6j1Jffre14egnZfrax Ix+HVxn02n4bSuQuFehMYtj8qsOi6+aiBb6wHstndhOMAyulFiR0jw== =vwaI -----END PGP SIGNATURE-----