Port nach Socket close immernoch belegt
Verfasst: Mittwoch 22. Januar 2014, 20:50
Guten Abend
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:
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?
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?