marcellus
Kaiser
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
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
...
43 do
44 {
45 size = recv (new_socket, buffer, BUF-1, 0);
46 if( size > 0)
47 {
48 buffer[size] = '\0';
49 syslog(LOG_NOTICE, "message:%s\n", buffer);
50 }
51 } while (strcmp(buffer, "quit\n") != 0);
...
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