• # Re: Aide en C

    Posté par . En réponse au journal Aide en C. Évalué à 2.

    Ca dépend. Si ton code est censé être un cas d'école impliquant toutes les techniques de base d'Unix et de l'informatique multitâches en général (fork, sockets, threads, etc.), c'est peut-être intérressant, mais si tu veux juste faire un daemon de broadcast qui retransmet à tout le monde ce que l'un des connectés écrit (un sorte de serveur IRC, quoi !), tu n'es pas obligé de forker pour chaque client. C'est même clairement déconseillé, parce que si tes clients sont nombreux, cela va faire pas mal de processus pour une application si basique.

    Regarde plutôt du coté de select(), qui permet d'attendre un événement sur un ou plusieurs descripteurs de fichiers ou sockets. En gros, tu fais une boucle infinie et tu colles ton select() en haut de cette boucle, ce qui va donc mettre ton système en attente jusqu'à ce qu'il se produise quelque chose. Dès lors, tu lis le messages reçu, tu le réécris sur tous les sockets ouverts, et tu reboucles. Bilan: 1 processus.