mimosa803
Messages postés345Date d'inscriptionjeudi 15 février 2007StatutMembreDernière intervention24 avril 2010
-
15 mars 2009 à 18:15
polaris1970
Messages postés5Date d'inscriptionvendredi 24 novembre 2006StatutMembreDernière intervention20 décembre 2009
-
20 déc. 2009 à 00:04
Bonjour,
Je suis entrain de développer une application
Client/Serveur en utilisant TCPClient et TCPListener. Mon problème est
comment je peux créer un serveur mutli-clients : est ce que je suis
obligé d'utiliser des threads dès que TCPListener accepte un client ?
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 16 mars 2009 à 14:08
"essayer de créer un file FIFO et chaque fois si la port est occupe
attendre de libérer puis accepter le seconde stocke ainsi de suit ". Bah dans cas ça ne gère pas le multi-clients (ce qui implique simultanément (enfin je pense que c'est bien ça dont tu parles Mimosa803))
mimosa803
Messages postés345Date d'inscriptionjeudi 15 février 2007StatutMembreDernière intervention24 avril 2010 16 mars 2009 à 17:23
Bonjour,
Merci pour vos réponses, en fait la méthode accept ()de TcpListener renvoie un objet de type TcpClient, donc si je mes le serveur en echo (dans une boucle) normalement il va créer plusieurs TcpClient. Mais je voudrais savoir si je suis obligé de les synchroniser en utilisant un thread pour chaqu'un d'eux.
Vous n’avez pas trouvé la réponse que vous recherchez ?
polaris1970
Messages postés5Date d'inscriptionvendredi 24 novembre 2006StatutMembreDernière intervention20 décembre 2009 20 déc. 2009 à 00:04
Il y a un moyen de se passer de thread ( du moins directement ), il faut utiliser les fonctions BeginAccept et EndAccept pour accepter les connections des clients. Dans la fonction EndAccept, il faut initié le dialogue du tcpclient obtenu ainsi et réappeler la fonction BeginAccept pour accepter une nouvelle connection.
De même pour TCPClient obtenu, il faut utilisé les fonctions BeginRead EndRead, BeginWrite et EndWrite pour gérer le dialogue désiré.
Les threads sous jacent sont gérés "automatiquement" par le framework...