Bonjour
Je dois développer une appli en C client-serveur.
Je souhaite utiliser les selects, mais le principe de fonctionnement ne met pas encore très clair.
D'apres les docs et ce que j'en ai compris, l'idée du select est de vérifier si le descripteur du fichier/socket est pret pour la lecture/ecriture.
Dans mon cas, j'ecoute sur deux ports différents et donc j'ai ouvert deux socket, que j'ai "ajouté" au fd_set via la macro FD_SET. Je me met en attente sur le select. Un foi le select passé avec succé, j'utilise FD_ISSET sur le fs_set en lecture. Tout va bien.
Maintenant que j'ai une connexion cliente ? j'en fais quoi ? j'imagine qu'il faut que je " l'ajoute " à ce select pour, lui aussi, vérifier la lecture/ecriture ?
Dans tout les cas, même si ce serveur peu gérer plusieurs clients, il ne peut le faire que séquentiellement ?
Dois je en déduire que la solution est de passer par des threads ?
Est il possible, une foi le client connecté, le thread crée avec en paramètre le socket, de re-créer un select sur ce socket seulement ? et on aurai bien du parallélisme ?
J'avoue que je suis un peu perdu. Les exemples dispo sur le net qui mette en avant les select sont ultra légé.
Si vous pouviez juste m'éclairer un peu![]()
Partager