socket read deadlock bei Verbindungsabbruch
-
Hallo,
Ich hab momentan folgendes Problem:
Ich schreibe einen Server in C und wenn ich die Netzwerkverbindung trenne, also von Hand das Netzwerkkabel ziehe, bleibt das Programm stehen. Das printf wird nicht ausgegeben.
Es handelt sich um ganz normale TCP-Sockets.while(read(client, &buffer, 1) > 0){ // Do something } printf("Ende\n");
Kann man das Problem irgendwie umgehen?
-
weil solange gewartet wird bis der read-timeout abgelaufen ist
dürfte nur 30sekunden laufen oder?
du kannst mit select dir einen kürzeren Timeout festlegen zB