meech
Messages postés209Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention14 août 2007
-
30 déc. 2004 à 14:31
bariland
Messages postés7Date d'inscriptionlundi 27 octobre 2008StatutMembreDernière intervention19 mai 2009
-
11 avril 2009 à 17:22
Bonjour,
Je me suis attelé au développement d'un serveur TCP (extensible à divers protocoles) sous Win32 en C.
Concrètement, je souhaiterais connaitre la meilleure méthode (la plus opimisée) pour faire en sorte que mon serveur accepte plusieurs connexions simultanées :
- dois-je créer un nouveau thread pour chaque nouveau client ? dans ce cas, quel est la logique permettant de réaliser cela (ex-ante ou ex-post l'écoute du serveur) ?
- j'ai lu sur un forum quelconque que créer un thread à chaque connexion n'était pas nécessairement la meilleure des solutions. Bien évidemment, aucune précision n'était fournie. Dans l'hypothèse où la véracité de ces propos s'avère exacte (rien de moins sûr...), quelqu'un pourrait-il m'en dire un peu plus ?
En vous remerciant par avance de votre réponse.
NB. Les bouts de code, simplifiés au maximum, de serveur tcp multi-client sont les bienvenus. Aussi, sachez que je cherche à réaliser un serveur ayant la capacité de répondre aux requêtes de 10 à 20 clients simultanés.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 30 déc. 2004 à 18:52
Salut,
En win32, les thread sont une mauvaise solution car ils consomment trop de ressource systeme, et de plus un processus ne peut pas en faire autant qu'il veut (la limite par processus est de 1000 threads il me semble).
Windows dispose de plusieurs modeles d'utilisation des sockets, le modele le plus performant etant le modele qui utilise le Completion Port et l'overlapped:
meech
Messages postés209Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention14 août 2007 30 déc. 2004 à 21:31
Waouh ! Terrible, voilà ce que je cherchais depuis bien longtemps... Comme quoi je fais preuve de médisance, puisque le message posté sur le forum traitant des threads et des sockets sous Win32 retournait de bonnes informations.
Sincèrement merci Monsieur Aardman (car, oui, vous êtes un grand Monsieur), tu m'évites de longs mois de recherche. Le tout a l'air costaud, mais je compte m'y jeter à corps perdu...
Merci aussi pour les exemples, j'avoue que c'est par la pratique que j'apprends le mieux (ma formation initiale n'est pas du tout liée à l'informatique).
bariland
Messages postés7Date d'inscriptionlundi 27 octobre 2008StatutMembreDernière intervention19 mai 2009 11 avril 2009 à 16:28
bonjour meech moi je suis ds la mais etat que toi
pour mon PFE en bts je suis realise un chat multiclient multiplat forme
et un transfert de fichier via les socket
si tu quelque chose qui pourra m'aider je serai reconnaisant
voila mon msn [mailto:badr-bari@hotmail.com badr-bari@hotmail.com] merci en avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
bariland
Messages postés7Date d'inscriptionlundi 27 octobre 2008StatutMembreDernière intervention19 mai 2009 11 avril 2009 à 17:22
bonjour meech moi je suis ds la mais etat que toi
pour mon PFE en bts je suis sensé realise un chat multiclient multiplat forme
et un transfert de fichier via les socket en language c je débute sous windows .j'ai les notion de base sur les sockets et les thread .j'arrive a codé un simple client-serveur itteratif
mais pour le multiclient !! j'arrive pas
si tu quelque chose qui pourra m'aider je serai reconnaisant
voila mon msn [mailto:badr-bari@hotmail.com badr-bari@hotmail.com] merci en avance