ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
270
270
EMPFEHLEN
-
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.
-
Hallo,
du musst den Socket schließen ( closesocket(sock) ). Dann wird auch die Blockierung beim recv-Aufruf beendet.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
ok danke scheint zu funktionieren.
Ähnliche Themen
-
Problem mit _beginthread
Von colt4ever im Forum C/C++Antworten: 11Letzter Beitrag: 31.03.10, 08:17 -
'Socket Error #10038 Socket operation on non-socket'
Von jupp2oo8 im Forum C/C++Antworten: 2Letzter Beitrag: 30.01.08, 10:24 -
'Socket Error #10038 Socket operation on non-socket'
Von jupp2oo8 im Forum C/C++Antworten: 2Letzter Beitrag: 29.01.08, 14:59 -
Flugzeug abschießen
Von tali85 im Forum Cinema 4DAntworten: 2Letzter Beitrag: 16.09.07, 19:44 -
_beginthread und void*
Von unmatrix im Forum VisualStudio & MFCAntworten: 3Letzter Beitrag: 04.10.05, 16:23





Zitieren
Login






