survcopt
Messages postés224Date d'inscriptionmardi 27 mai 2003StatutMembreDernière intervention13 mai 2022
-
17 juil. 2009 à 10:33
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 2015
-
17 juil. 2009 à 11:44
Salut,
Je voudrais savoir comment je peux faire communiquer un Serveur et 12 clients en UDP.
Le Serveur envoie une trame sur chaque adresse client et le client répondra si il est connecté, ainsi le serveur peut savoir si les clients sont démarrés et leur envoyer des commandes individuellement.
Mon problème est de savoir si je dois ouvrir un port par client ou si le serveur peut recevoir les 12 clients sur le même port.
Merci,
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 17 juil. 2009 à 11:44
Salut
Je ne suis pas un pro en protocole réseau, mais si je ne m'abuse, le protocole UDP fonctionne en mode non connecté.
Pour l'envoi de commandes individuelles, je pense que le TCP sera plus indiqué.
Donc si, au démarrage, un client ne se connecte pas directement au serveur, voilà comment je m'orienterais :
1) Serveur : Lancement du ServerSocket TCP (je ne connais pas l'équivalent en C#, je n'ai fait du réseau qu'en Java), qui recueillera toutes les connexions.
2) Client : Ecoute d'un port précis (1)
3) Serveur : Lancement d'un message en broadcast (dernière adresse de la plage réseau - 192.168.0.255 par exemple) sur le port (1). Un genre de "Connectez-vous si vous êtes là".
4) Client : Lors de la réception du message broadcasté, création d'une socket TCP au serveur.
A ce moment, ton ServerSocket devrait avoir une socket connectée à chaque client démarré.
Krimog : while (!(succeed = try())) ; - NON, "LE BAR" n'est PAS un langage de programmation ! -