Azxx
Messages postés14Date d'inscriptionmercredi 9 novembre 2011StatutMembreDernière intervention15 mai 2012
-
24 avril 2012 à 15:36
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
24 avril 2012 à 16:59
Bonjours, je suis actuellement en train de travailler sur une application c#. Losque je clique sur un bouton de mon programme, celui-ci doit s'annoncer dans le sous réseaux et voir si, sur un autre pc (du même sous réseaux) ce bouton à déja été pressé avant.
en gros, le premier pc qui presse sur le bouton devient le serveur (car celui-ci se rend compte qu'il est seul) et tout ceux qui viennent après, deviennent des clients et se connectent au serveur. (Quand je clique sur le bouton après le 1er, le programme remarque qu'il n'est pas le premier et qu'un serveur existe déjà et il s'y connectent)
le problème est que je ne sais pas comment m'y prendre..
Si quelqu'un de vous a des tuyaus pour m'aider je suis preneurs.
Merci d'avance,
Azxx.
cs_L0ci
Messages postés224Date d'inscriptionvendredi 26 novembre 2010StatutMembreDernière intervention11 juin 20137 24 avril 2012 à 15:46
Bonjour,
est ce que ton "serveur" va toujours écouter sur le même port ou est ce que ça sera décidé de façon aléatoire? Sinon suivant la taille de ton sous réseau tu faire une boucle qui essaie d'ouvrir des sockets sur toutes les adresses.
Cela dit il y a peut être plus simple.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 24 avril 2012 à 16:11
Le principe dans ce genre de situation, c'est que d'une part toutes les machines écoutent sur le même port (port serveur) et d'autre part, tu fais une annonce du type :
- Envoie en broadcast d'un message "Qui est le serveur ?"
- Le serveur répond un message "C'est moi le serveur", donc tous les clients (y compris la station émettrice) récupèrent les coordonnées du serveur
- Pas de réponse au bout d'un temps défini (timeout), la machine émettrice bascule en mode serveur et envoie le message "C'est moi le serveur". Tous les clients récupèrent les coordonnées du (nouveau) serveur.
Bien sur, après, on peu étoffer le protocole pour gérer d'éventuels conflits, des négociations de changements de serveurs, etc ...
[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Azxx
Messages postés14Date d'inscriptionmercredi 9 novembre 2011StatutMembreDernière intervention15 mai 2012 24 avril 2012 à 16:17
Oui je pensais aussi faire quelque chose comme cela, malheureusement la partie réseaux n'est vraiment pas ma tas de thé, comment envoyé de simple message en broadcast ?
je parle ici de façon plus spéicifique, aux niveaux du code.
Mais merci pour ta réponse je vais surement chercher de ce coté la