Einen Socket aus dem accept-Modus entfernen
-
Hallo,
ich habe, wie schon im Titel erwähnt, das Problem, dass ich einen Socket sich im accept-Zustand befindet (also nach dem aufruf der accept funktion, die ja blockend ist), aus eben diesem entfernen muss, damit mein programm ohne fehler terminiert.
Es handelt sich dabei übrigens um einen standard winsock socket.Vielen Dank schon mal für alle Antworten
-
Achja meine Frage ist wie das geht ich bekomm das nämlich nicht hin und einfach den socket schließen geht auch nicht.
-
Socket schließen.
-
bei mir geht das nicht
-
ich geh mal auf den context ein:
der accept socket befindet sich in einem eigenen thread den ich mit der boost-lib erstellt habe (ist also auch ein standard windows thread der win api) und beim beenden des programms schließe ich erst den scoket und dann "join" ich dem thread, warte also darauf das dieser zum ende kommt, aber mein log system sagt mir das das programm den blocking accept call nicht verlässt.
-
also du musst den socket schließen wo du listen drauf aufgerufen hast.
-
ja so mach ich das zzt aber das funktioniert meistens nicht. gibt es da noch irgendwas anderes was ich beachten muss? ich glaube es funktioniert nicht wenn der socket bereits verbindungen angenommen hat, bin mir da aber nicht sicher.