• # MSG_NOSIGNAL (man send)

    Posté par . En réponse au message write() quitte mon programme et retourne le code 141. Évalué à 2.

    Tu peux remplacer la fonction write() en utilisant send(newsock, buf, nRead, MSG_NOSIGNAL) à la place. Ceci permettra à la fonction d'ignorer le SIGPIPE qui termine ton programme en signal 13 (141 - 128).

    Je pense aussi qu'il serait utile de rajouter un if (nRead < 1) break après l'appel de la fonction read().

    Autre petit détail, dans ton code, le perror() n'affichera pas d'erreur dans le cas ou write() retourne 0.