cs_Manson
Messages postés137Date d'inscriptionlundi 17 décembre 2001StatutMembreDernière intervention30 septembre 2004
-
18 juil. 2003 à 08:15
Anacr0x
Messages postés515Date d'inscriptiondimanche 25 mai 2003StatutMembreDernière intervention27 avril 2006
-
26 juil. 2003 à 23:17
Salut a tous.
Voila, j'ai fait un serveur multiclient sous windows,
et il s'avere que j'ai une limite, je pense software,
mais qui ne vient pas de mon programme.
Je m'explique, le serveur accepte sans aucun probleme
plus de 100 connections, et arrive a envoyer des requetes
au 100 connectes, qui eux memes les recoivent. Jusque
la aucun probleme, mais lorsque les clients envois des infos
au serveur, le serveur recois que les infos des 63 premiers
connectes. Et les autres, je sais pas ou ils partent. Et ca,
je l'ai avec n'importe quel nombre de connecte (superieur a
63).
J'ai fait des test dans tout les sens pour etre sur de ce que
je viens de dire. Je sais que sous linux on peut faire sauter
cette limite en faisant un getrlimit et ensuite setrlimit sur
RLIMIT_NOFILE, mais la je trouve pas d'equivalant.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 18 juil. 2003 à 14:10
Salut,
Effectivement winsock limite le nombre de socket a 64 par defaut.
Le nombre maxi de socket est une constante FD_SETSIZE definie dans winsock2.h
Donc en théorie (j'ai jamais essayé) si tu met
#define FD_SETSIZE 128
avant #include <windock2.h>
Tu devrais pouvoir gerer tes 100 connections.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 18 juil. 2003 à 18:47
Salut,
Content que ca marche.
Simple curiosité, je voudrais juste voir comment tu gerais les 100 connections ?
Tu utilise un tableau de socket que accept rempli au fur et a mesure que les clients se connectent ou tu as une autre technique?
cs_Manson
Messages postés137Date d'inscriptionlundi 17 décembre 2001StatutMembreDernière intervention30 septembre 2004 19 juil. 2003 à 11:47
Salut,
non, pour la gestion des utilisateurs, j'ai une liste, cree en C++ (vector), et a chaque nouvelle connection je rajoute un element, et je le rempli des infos qu'il me faut. Et voila, des qu'il y a une deconnection, je recherche l'element dans la liste et je l'erase. Le tableau est pratique sous Linux, mais
sous windows, les sockets ne s'enchaine pas correctement,
elles ont des nombres pas possible, donc le mieux, je pense,
c'est de faire ue liste, comme ca, tu ne te limite pas trop,
et c'est plus facile a gerer par la suite.
Encore merci.
Arno
Vous n’avez pas trouvé la réponse que vous recherchez ?
Anacr0x
Messages postés515Date d'inscriptiondimanche 25 mai 2003StatutMembreDernière intervention27 avril 20062 26 juil. 2003 à 23:17
Salut, est ce ke ca seré possible que tu me passe ton code pour le serveur multiclient win32 si ca te dérange pas (Anacr0x@yahoo.fr) ? A vrai dire, ca m'interesse et je ne voit pas vraiment comment tu as fait (moi j'utilise un serveur fait grace a bubsock, le problème, c'est que c'est bien limité). Merci d'avance
_________________________
Heureux l'étudiant qui comme la rivière peut suivre son cours sans quitter son lit