PB Evenement WSA

djtexas Messages postés 20 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 9 mai 2006 - 27 janv. 2004 à 12:16
vinceVD Messages postés 11 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 26 mai 2005 - 15 juin 2005 à 13:16
Voila, dans le cadre d'un enrichissement de mes connaissances sur la maitrise des sockets en C, je me retrouve confronté à un pb, en effet j'ai developpé un serveur TCP (peu importe ce k'il fait, lol) mais je me retrouver confronté à la limite des 64 evenements WSA (61 Clients + 3 evenements winsock) j'aimerais savoir comment faire pour dépasser cette limite (idiote)...
j'avais pensé encacpuler mon select dans un thread, et refaire un nouveau thread tout les 60 clients avec un FD différent, j'aimerais avoir votre avis, merci... ou si quelqu'un à déjà résolu ce pb qu'il/elle m'indique la démarche

merci d'avance

5 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
27 janv. 2004 à 18:22
Salut,
Avec le modele select():
Cette limite est fixée par la constante FD_SETSIZE dans winsock2.h.
Il suffit donc de mettre
#define FD_SETSIZE 256
pour pousser la limite a 256.
0
djtexas Messages postés 20 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 9 mai 2006
28 janv. 2004 à 07:46
je suis sur le modèle "select();" mais utilise pour des raisons techniques le winsock.h et pas le winsoch2.h, et la constante FD_SETSIZE n'as aucun effet...
0
djtexas Messages postés 20 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 9 mai 2006
28 janv. 2004 à 09:03
hum, scuse j'avais pas vu un truc, lol
extrait de winsock.h :
#ifndef FD_SETSIZE
#define FD_SETSIZE 64
#endif
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
28 janv. 2004 à 12:24
Salut,
FD_SETSIZE est donc a definir AVANT d'inclure winsock.h, cad tout en haut du code.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vinceVD Messages postés 11 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 26 mai 2005
15 juin 2005 à 13:16
Je viens de tomber sur le meme problème (plantage quand on arrive a 60 clients) et avec votre astuce de la modif du FD_SETSIZE sa ne marche toujours pas. J'ai bien testé s'il me prennait la nouvelle valeur et c bon (si j'ai pas 128 je me kill) et mon programme tourne. Sa marche vraiement a tous les coups cette astuce ou y a-t-il qqchose de plus a faire
0
Rejoignez-nous