tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
270
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    cyberds19 cyberds19 ist offline Rookie
    Registriert seit
    Sep 2005
    Beiträge
    8
    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.
     

  2. #2
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    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

  3. #3
    cyberds19 cyberds19 ist offline Rookie
    Registriert seit
    Sep 2005
    Beiträge
    8
    ok danke scheint zu funktionieren.
     

Ähnliche Themen

  1. Problem mit _beginthread
    Von colt4ever im Forum C/C++
    Antworten: 11
    Letzter Beitrag: 31.03.10, 08:17
  2. Antworten: 2
    Letzter Beitrag: 30.01.08, 10:24
  3. Antworten: 2
    Letzter Beitrag: 29.01.08, 14:59
  4. Flugzeug abschießen
    Von tali85 im Forum Cinema 4D
    Antworten: 2
    Letzter Beitrag: 16.09.07, 19:44
  5. _beginthread und void*
    Von unmatrix im Forum VisualStudio & MFC
    Antworten: 3
    Letzter Beitrag: 04.10.05, 16:23