si c'est ce que que tu veux savoir :
fork retourne 0 si c'est le fils, et le pid du fils si c'est le père.
if (!fork ()) est donc vrai si c'est le fils (négation de 0).
en fait il faudrait vérifier aussi que la valeur est différente de -1, qui signifie qu'il y a eut une erreur (dans ce cas errno est renseignée).
dans le if (!fork()), on a donc le code de traitement de la connexion, qui se termine par une fermeture de la socket, donc une deconnexion du client, ce que tu ne veux pas.
je te conseilles de regarder du coté des threads.
# Re: Aide en C
Posté par thranduil . En réponse au journal Aide en C. Évalué à 2.
fork retourne 0 si c'est le fils, et le pid du fils si c'est le père.
if (!fork ()) est donc vrai si c'est le fils (négation de 0).
en fait il faudrait vérifier aussi que la valeur est différente de -1, qui signifie qu'il y a eut une erreur (dans ce cas errno est renseignée).
dans le if (!fork()), on a donc le code de traitement de la connexion, qui se termine par une fermeture de la socket, donc une deconnexion du client, ce que tu ne veux pas.
je te conseilles de regarder du coté des threads.