Fadest (./9) :
Dès que je veux faire causer les 2 Lynx, je m'emmèle les pinceaux et je perds des données. Faut dire que je suis pas habitué à ce genre de programmation et rien que faire un protocole qui gère des jetons, j'ai pas du faire (et encore, seulement sur papier) depuis plus de 15 ans...
Il n'y a que 2 règles de base dans le cas de la Lynx :
1) les données émises par une console sont reçues par toutes les consoles, y compris elle-même
2) s'il y a plus d'une console qui émet en même temps, les données sont perdues ou corrompues (collision)
Il y a plusieurs méthodes pour gérer la 2ème règle : soit détecter les collisions et réemettre après un délai aléatoire, soit les éviter avec un système "chacun son tour".
Si tu n'as que 2 consoles en tout, ça peut pas mal se simplifier, par exemple tu peux avoir une console maître (qui émet périodiquement) et une console esclave (qui n'émet qu'en réponse à l'émission de la console maître). Le seul point un peu délicat c'est comment assigner les rôles au démarrage. Une méthode consiste à attendre pendant un certain délai pour voir si on reçoit quelque chose. Si oui alors on passe en mode esclave, sinon on passe en mode maître. Ce n'est pas 100% fiable (il y a le cas où les deux consoles démarrent simultanément), mais c'est simple et probablement suffisant dans la majorité des cas.