42_EXAM
42_EXAM copied to clipboard
exam rank 6 - ctrl+d avec nc
J'ai remarqué que nc ne ferme pas la connexion à moins d'utiliser -N en option sur un CTRL-D. Je fail les tests de ctrl+d si je n'utilise pas cette option car netcat n'envoie pas 0 à mon programme il me semble :
nc -N localhost 1234
Le code pour gérer le ctrl+d :
int ret = recv(fd, recv_buffer, sizeof(recv_buffer), 0); if (ret <= 0) { sprintf(send_buffer, "server: client %d just left\n", clients[fd].id); send_to_all(fd); FD_CLR(fd, ¤t); close(fd); break; }
nc localhost 1234 ne coupe jamais la connexion sur ctrl+d de mon côté.
J'ai donc toujours ce message sur ma trace : client 9: CeciestuntestdeCtrl+Ddanstonprogrammeici:^DSitunepassespascetest,tudevraisverifierlefonctionnementductrl+d.voiciunnouveautestlong txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long txt long t
Peut-être que je me trompe mais je ne vois pas comment gérer le ctrl+d en dehors du code que j'ai mis en place en tout cas.