Bonjour j'aurais aimé savoir s'il existe un moyen de lister les adresses IP disponnibles sur un réseau local en Java.
Merci
PS : par disponnible je veux dire utilisées par un poste.
Bonjour j'aurais aimé savoir s'il existe un moyen de lister les adresses IP disponnibles sur un réseau local en Java.
Merci
PS : par disponnible je veux dire utilisées par un poste.
Tu peux faire un ping broadcast (à supposer que c'est autorisé par l'administrateur), et voir ce qui sort (à supposer que les machines sont configurées pour répondre au ping broadcast, à supposer que les paquets ne se perdent pas...).
Regarde la doc de ping; il faudra peut-être passer l'option -b.
Merci je vais essayer, apparement il n'y a pas de solution en Java... je débute un peu dans ce domaine mais comment ça marche en général pour trouver les machines d'un réseau si quelqu'un a un lien qui l'explique ou qui peut m'orienter vers un tutoriel ou un cours pour que j'assimile les connaissance dont j'ai besoin ça serait cool.
Merci
En fait j'essaye d'écrire un petit programme en Java qui me permette de transférer des fichiers entre mes différents PC (qui sont sous des OS différents) et j'aimerai que le programme puisse trouver seul les PC sur le réseau sans que je sois obligé d'entrer les adresses IP moi-même.
Voilà.
En tout état de cause, je pense que tu devrais exposer ton problème de conception dans un groupe de discussion sur les réseaux. (Parce que ta question n'a rien à voir avec Java.)
Ok merci bien du conseil, je voulais juste savoir s'il existait une solution déjà faite en Java ce qui m'aurait évité quelques heures de recherches...
Pour avoir la liste des ordinateurs connectés au réseau local, c'est tout simplement impossible en général, il faut bien que les ordinateurs coopèrent d'un façon ou d'une autre :
- soit en s'inscrivant quelque part (par exemple, si le réseau utilise DHCP, peut-être le serveur DHCP peux te donner une liste),
- soit en étant référencé par un administrateur (regarde dans /etc/hosts, ou dans les fichiers de définitions du DNS si il y a un serveur DNS pour le réseau local),
- soit en répondant à des requêtes broadcast, ou multicast (tout d'un coup, il me revient qu'existe un groupe multicast "all-hosts", 244.0.0.1, dont les ordinateurs du réseau local font automatique partie [1]).
[1] J'ai essayé "ping 244.0.0.1", sous Windows me dit "PING : échec de la transmission ; code d'erreur 1232."; qu'est-ce que c'est que ce binz?
Maintenant, si tout ce que tu veux c'est copier un fichier, il existe déjà des programmes pour le faire...
Merci bien pour toutes ces pistes, oui il existe déjà des programmes mais en fait je voulais le faire pour apprendre à utiliser les socket en java (je suis encore étudiant).
Partager