Je débute sur la façon de mapper une structure utilisateur à leur descripteur de fichier socket. Je pensais garder un tableau de pointeurs vide d'une taille MAX_CONNECTIONS, et stocker le pointeur comme valeur pour la clé du descripteur de fichier.Mappage efficace des utilisateurs sur les sockets
Le problème que je rencontre est la façon dont je prévois de gérer mes reçus. J'appelle actuellement pipe()
pour faire un tuyau, puis fork()
le processus pour gérer recv
. Je voudrais probablement garder une trace de ceux-ci, aussi, pour être en mesure de gérer.
Ce que je fais actuellement est une boucle à travers une liste chaînée des utilisateurs, trouver celui qui correspond le descripteur, et aller de là
Question: Est-ce une méthode efficace et/ou acceptable des prises de cartographie aux utilisateurs connectés à eux, ou devrais-je pratiquer une autre sorte de vaudou?
J'apprécie tout effort donné envers mon dilemme (sans doute inutile).
Vous utilisez vraisemblablement 'poll()' ou 'epoll()' plutôt que 'select()', alors? – caf
J'utilise select pour trouver quand j'ai besoin de lire. Y a-t-il une raison pour laquelle je devrais faire autrement? – Codeacula