tote server prozesse aussortieren?

Dieses Thema im Forum "C/C++" wurde erstellt von marcellus, 06.08.2007.

  1. #1 marcellus, 06.08.2007
    marcellus

    marcellus Kaiser

    Dabei seit:
    09.05.2007
    Beiträge:
    1.392
    Zustimmungen:
    0
    Ich hab ehrlichgesagt nicht viel davon selber geschrieben sondern von linux-unix-programmieren übernommen (http://www.pronix.de/pronix-275.html ff)

    Ich hab allerdings etwas geändert und zwar wollte ich das nur der client an den server daten schickt und die dann geloggt werden.

    Ich hab mir überlegt ich lass den server socket horchen und jedesmal wenn wer anklopft fork ich einen neuen prozess, der sich dann um einen client kümmert. Hat auch recht toll funktioniert, sogar mit mehreren clients und beendet sich alles wies soll, nur wenn ich dem client sigint (strg+c) schick beendet sich der client und der server child prozess hackelt sich dumm und dämlich.

    Ich hab auch schon anhand von dem buch probiert den sigint abzufangen, das hat allerdings nicht viel gebracht, der client läuft zwar weiter aber der server hängt sich auf.

    Der Hund ist irgendwo hier begraben

    hier der source dazu

    http://www.marcellus.arona.at/server-0.0.1.tar.gz
    http://www.marcellus.arona.at/client-0.0.1.tar.gz

    tia
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 der_Kay, 06.08.2007
    Zuletzt bearbeitet: 06.08.2007
    der_Kay

    der_Kay Doppel-As

    Dabei seit:
    28.02.2006
    Beiträge:
    140
    Zustimmungen:
    0
    Wenn der client den socket schliesst, gibt recv 0 zurück. Wenn ein unerwarteter Disconnect stattfindet, gibt recv -1 zurück und strerror(errno) liefert den Fehlerstring. Du kannst auch mittels setsockopt(...,SO_RCVTIMEO,...) gezielt einen Timeout setzen.

    Damit sollte sich Dein Problem in den Griff bekommen lassen. Im Übrigen ist fork() ein sauteurer Systemruf. Nimm lieber die pthreads.

    Alle Funktionen sind gut dokumentiert, z. B. auf opengroup.org
     
  4. #3 marcellus, 07.08.2007
    marcellus

    marcellus Kaiser

    Dabei seit:
    09.05.2007
    Beiträge:
    1.392
    Zustimmungen:
    0
    Ich weis, dass das mit fork nicht so optimal ist, aber ich wollt mich einfach mal durchs buch durchackern und statt stupid den code abzutippen hab ich mir gedacht ich kopiers raus und spiel dann einfach etwas damit herumzuspielen.

    Bei den pthreads war ich noch nicht, die kommen in 2 kapiteln aber ich werd sie mir auf jeden fall geben.

    Der server funktioniert mit dem test vom recv rückgabewert perfekt, vielen dank.
     
Thema:

tote server prozesse aussortieren?

Die Seite wird geladen...

tote server prozesse aussortieren? - Ähnliche Themen

  1. »Pear OS«: Totes System will nicht sterben

    »Pear OS«: Totes System will nicht sterben: Nachdem die Ersteller des sich optischan Apple anlehnenden »Pear OS« die Einstellung des Produktes ankündigten, sollte die Entwicklung eigentlich...
  2. Kommentar: Über Mütter und tote Hamster

    Kommentar: Über Mütter und tote Hamster: Die Entwicklung des Kernels macht müde oder die Welt geht vor die Hunde. Wie sonst soll man sich die Tatsache erklären, dass sogar Linus Torvalds,...
  3. Totem Movie Player 3.4.3 Stack Corruption

    Totem Movie Player 3.4.3 Stack Corruption: Totem Movie Player version 3.4.3 with GStreamer version 0.10.36 suffers from a stack corruption vulnerability. Weiterlesen...
  4. Toter Link unter...?

    Toter Link unter...?: Auf der URL: http://www.unixboard.de/index.php?page=Impressum gibt es den toten Link: http://bundesrecht.juris.de/tdg/index.html
  5. totem missing plugins

    totem missing plugins: Hi, bei mir spielen Totem und Co. keine Videos mehr ab: ** Message: Missing plugin: gstreamer|0.10|totem|XVID...