J'essaie d'écrire un programme client-serveur plus simple, en utilisant mon ordinateur portable comme serveur et plusieurs appareils Android comme clients. Le serveur écoute sur un port (disons 5902) jusqu'à ce qu'un client tente de se connecter. Les threads sont créés sur le serveur et les communications se font.
Dans un environnement de laboratoire convivial, sans pare-feu, cela fonctionne bien.
Chez moi, j'ai AT&T U-Verse avec leur routeur Motorola NVG510 et son pare-feu par défaut. D'après ce que j'ai compris, je dois ouvrir ce port sur le pare-feu pour chaque appareil car c'est ainsi que le NVG510 ouvre les ports - sur une base individuelle.
Mais, essayer d'ouvrir le même port sur plusieurs appareils me donne une erreur de conflit de trou d'épingle (ce qui, je suppose, est exactement ce à quoi cela ressemble - l'ouverture du port est un trou d'épingle, et avoir le même port ouvert pour deux appareils est le conflit).
Y a-t-il un moyen de faire ce que j'essaie de faire sur mon routeur domestique ? Ce serait bien de pouvoir travailler sur ce projet à la maison.
(Remarque : il s'agit uniquement de la question de la mise en réseau. Le logiciel client/serveur de base fonctionne dans d'autres environnements).
Mise à jour : Dans l'environnement de laboratoire bénin, chaque appareil a sa propre adresse IP. Dans mon réseau domestique, je suis limité aux adresses de transfert de port 192.168.1.x, ce qui, je pense, est la principale différence.