Bonjours,
Pour un programme que je fait, je doit implementer une diffusion de message dans un "graphe d'objet RMI", pour expliquer un peu, j'ai une topologie en graphe, et chaque noeud represente un objet RMI (qui peut etre distant bien-sur). lorsqu'un noeud diffuse (envoie) une message il l'envoie alors à tous ses voisins puis chaqu'un des voisins de ce noeud diffusera a son tour le message reçu à tous ses voisins... et ainsi de suite jusqu'a tous les noeud du graphe est reçu le message. et biensur chaque noeud du graphe ne connait uniquement que ses voisins!
mais je me retrouve face à un probléme, par exemple si le noeud "1" envoie un message à tous ses voisins, alors ces voisins enverront à leur tours le message à leurs message et donc ces voinsins renverront le message au noeud "1" qui lui meme va rediffuser le message... et donc le tous finit en boucle infini !
donc pour résoudre ça il me faut un moyen pour que qu'un message envoyé par un noeud ne puisse par lui etre retourner, OU alors si un noeud reçoie un message il verifie si le message est un message qu'il vient d'envoyer et donc ne le rediffuse pas !
malheureusement pour l'instant je n'arrive pas à trouver comment discriminer les message j'ai vu du cotés des hashCode mais c'est pas trés concluant, donc si quelqu'un pouvait me donner un moyer ou une idée pour empecher mon probleme de boucle d'arriver.
Merci
Partager