ich habe seit längen das Problem, dass ich mein TCP Server nicht richtig beendet bekomme. Ich schließe den Socket zwar aber trotzdem ist der Port danach immer noch Belegt und ich kann den Server nicht wieder starten.
hier mal der Code:
Code: Alles auswählen
from socket import *
import sys, datetime, time
exit = None
def start():
try:
sockobj = socket()
sockobj.bind(("", 6565))
sockobj.listen(5)
except Exception:
error_log = open("error_log.log", "a")
ts = time.time()
error_log.write(str(datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')) + ": Server konnte nicht gestartet werden. Port schon belegt.\n")
print "Port schon belegt"
error_log.close()
sys.exit(1)
while True:
global exit
komm, address = sockobj.accept()
data = komm.recv(1024)
#data wird bearbeitet
if data == 'exit':
komm.send(".")
exit = True
print "erstes while"
komm.close()
break
komm.close()
print('Verbindung geschlossen')
if(exit == True):
break
sockobj.close()
print ("Server beendet")
Er gibt auch aus: Server beendet.
Hat jemand eine Idee woran es liegen könnte, oder sehe ich gerade den Wald vor lauter Bäumen nicht mehr?