thread und netzwerk
-
hallo,
habe ein problem.ich habe einen thread mit createthread erzeugt. in diesem thread wird an einem port gelauscht (netzwerk). wenn der user sich jetzt entschliesst den port zu aendern an dem gelauscht werden soll, muesste der thread gestoppt und dann wieder mit dem neuen port gestartet werden. wenn aber der thread an einem port lauscht, kann er sich nicht selbst beenden. wie mache ich das das sich der thread selber beendet (nicht terminatethread)?
gruss und dank
msp
-
Du könntest mit WSAEventSelect das Socket mit einem Event verbinden. Dann brauchst du noch ein 2. Event "SouldBeStopped", das der Hauptthread setzt, wenn der ChildThread aufhören soll.
Dann listen aufrufen, danach mit WaitForMultipleObjects auf eines der beiden Events warten. Je nach dem, welches zuerst auftritt, den Thread entweder beenden oder eine Verbindung aufbauen.Übrigens: CreateThread ist böse, falls du irgendeine Funktion aus der C oder C++ Standard-Lib verwendest. Nimm _beginthread, das ist sicherer.