Bonjour,

Pour un de mes cours, je doit créer un chat serveur-client en langage C, sous Linux. Une fois la connection établie entre le serveur et le client, le serveur doit se comporter comme un client : lire et écrire des message grâce à la fenêtre du terminal. J'ai pensé réaliser ce chat en utilisant la fonction select(). Problème : je ne comprend pas comment cette fonction fonctionne.

Voilà comment je pensais l'utiliser : Je met select() dans une boucle while et j'utilise un file descriptor pour écouter le socket et un autre pour écouter une entrée sur le terminal. Si select() rend quelque chose supérieur à 0, j'utilise FD_ISSET pour voir quel file descriptor ai modifié.

J'arrive à utiliser select() pour le socket mais je ne comprend pas comment l'utiliser pour détecter que l'on a écrit dans le terminal. Comment changer le file descriptor quand on écrit dans le terminal ?

J'espère ne pas vous avoir trop embrouillé . Est ce que quelqu'un pourrait m'éclairer sur l'utilisation de select() ?

Merci.