wie _beginthread, socket abschießen ?

cyberds19

Grünschnabel
ich mache einen thread auf und lasse darin socket abfragen durchlaufen.
jetzt ist aber das problem, da der socket auf der lauer liegt, kann ich den thread nicht schließen, bis der socket nen signal bekommt und die funktion abläuft.

wie kann ich den socket bzw. den thread vorzeitig beenden ?

VOID NachrichtenHoler(PVOID pvoid){
...
do{
result = recv(sock, msg, sizeof(msg)-1, 0);
...
} while (result > 0 && threadschluss==1);

der thred wird eben nicht vorher geschlossen, bis revc wieder nen signal bekommt, noch mal durchrattert bis zum while. es gibts zwar _endthread aber ich wüsste nicht wie ich den tread damit zu bekomme.
 

MCoder

Erfahrenes Mitglied
Hallo,

du musst den Socket schließen ( closesocket(sock) ). Dann wird auch die Blockierung beim recv-Aufruf beendet.

Gruß
MCoder