Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Urgent : Broadcast en JAVA [ Archives / Au secours ] (skysee)

mercredi 6 mars 2002 à 14:40:29 | Urgent : Broadcast en JAVA

skysee

Bonjour,
Je voudrais réaliser en JAVA un broadcast sur un réseau pour en lister toutes les machines qui y sont connectées. L'affichage se réalisant comme le voisinage réseau de Windows.

Merci de m'aider

lundi 22 avril 2002 à 09:56:44 | Re : Urgent : Broadcast en JAVA

teutram





-------------------------------
Réponse au message :

Salut,
je ne peux pas te donner tout le code, mais je peux te conseiller d'utiliser les RMI pour faire cet applet.
Voilà c'est tout ce que je peux te dire pour le moment.




-------------------------------

Bonjour,
Je voudrais réaliser en JAVA un broadcast sur un réseau pour en lister toutes les machines qui y sont connectées. L'affichage se réalisant comme le voisinage réseau de Windows.

Merci de m'aider

jeudi 24 février 2005 à 01:09:51 | Re : Urgent : Broadcast en JAVA

desastreux

                                    Bonsoir,

Il doit exister plusieurs solutions pour y parvenir. Ayant moi aussi dans l'idée de réaliser un tel projet de listing en réseau local pour parvenir à la conception d'une appli ( Qui a parlé d'Applet, "Teutram" ? ) dans le style de LAN Search , je me suis un peu renseigné sur les RMI et ça m'a trés vite saôulé puisque le sujet est vaste et pas précisément en rapport avec notre problème.

J'ai trouvé sur le net un exemple intitulé PING.java qui devait permettre de choisir un N° IP et un port pour la machine y étant adréssée de façon à obtenir le temps de réponse du broadcast : Excépté pour quelques ports spéciaux resérvés aux protcoles SMTP, aucun des résultats attendus ne se produit et, de plus, l'exemple est trés compliqué...

Un autre exemple montre comment utiliser la commande runtime.process avec le  ping.exe de msDOS et comment récupérer son résultat; pas trop mal, sauf qu'il faut bâcler ou faire de fastidieuses recherches quant au chemin du dossier d'installation de Windows - et quant à LINUX, n'en parlons pas ! - et que la récupération implique de plus un bien long traitement des String en sortie de ce fameux PING msDozien... Bref, tout pour se tirer les derniers cheveux qui nous restent, loins de la tête !

Heureusement, en insistant un peu sur
www.javafr.com, j'ai trouvé un exemple de servlet à installer sur un serveur et sur un client dans un réseau local et qui permets notamment d'échanger des renseignements sur le matériel qu'utilisent les deux machines. J'en ai extrait la partie qui nous intéressse ici et je l'ai légèrement modifiée sous JBuilder pour parvenir à ce codec tout simple de listing IP (à utiliser seulement côté client, bien sûr ! ) :

                                                       //(A enregistrer sous "scanIP.java" avant de compiler...)

import java.net.*; 
import java.io.*;
class scanIP
{
  public static int all=0; // Permettra de déterminer quand le scan aura tenté toutes les IP
  public static void main (String [] args)
  {
    for (int i=0; i <255; i++ )
    {// Recherche systématique des machines présentes dans le "masque" réseau 192.168.0  :
      TestIP testIP = new TestIP("192.168.0."+i); // Vérifiez votre propre masque réseau
      ( (Thread) testIP ).start(); // >Connexions Réseaux > Local > Propriété / TCP-IP /...
    }
  }
  static class TestIP extends Thread
  {// Un thread par adresse scannée :
    private String ip;
    private String namePC;
    public TestIP(String adresse) {  ip = adresse; }
    public void run()
    {// Méthode spécifique aux Threads (processus) appellée par TestIP.start() + haut.
      try
      {// Ci-dessous, la formule magique répondant à la question de skysee :
        namePC = InetAddress.getByName(ip).getHostName().toString();
        if ( ! namePC.startsWith( ip.toString() ))
        { // Toutes les IP renvoyant un nom d'ordinateur sur le LAN sont indiquées :
          System.out.println();
          System.out.println("IP trouvée sur le LAN = " + ip);
          System.out.println("Nom de l'Hôte à cette IP = " + namePC);
        }// Pourraient être stockés dans un Vector() pour bien faire...
      }
      catch (UnknownHostException ex)
      { // Je ne sais pas précisémment quand cette exception est censée se produire mais...
        System.out.println("#Bad IP#");
      }// au cas où...
      if (all++==254) {  System.out.println("SCAN ... terminé");  }
    }
  }
}

Simple, net et précis, je crois.
Cela fonctionne dans des temps à peu prés correct, même sans modifier la RAM allouée à la JVM, grâce à l'utilisation d'un thread par IP scannée.
En ce qui me concerne, je cherche désormais à pouvoir définir quels sont les fichiers et dossiers partagés sur une de ces machines distantes ayant été donnée par le scan des IP, et à pouvoir alors y accéder et à les télécharger...
J'ai d'ores et déjà poser la question à l'occasion d'un autre POST sur www.javafr.Com, mais j'attends toujours qu'on me mette sur la voie... En effet, mon expérience en terme de java êst partculièrement limitée dans le domaine des réseaux et la documentation est trop touffue pour en tirer cette simple réponse ! Merci à quiconque voudrait bien se donner la peine de répondre ici ou sur :

http://www.javafr.com/forum.v2.aspx?ID=277618


vendredi 20 mai 2005 à 16:31:32 | Re : Urgent : Broadcast en JAVA

desastreux

Quelques NEWS pour répondre aux problème ont depuis été rajoutées sur le lien en question :
http://www.javafr.com/forum.v2.aspx?ID=277618

Utilisation de "netview.exe" et récupération de la sortie de la commande, ou bien utilisation de FileSystemView y sont décrits avec du code. Qu'en pensez-vous ?



Cette discussion est classé dans : java, urgent, réseau, broadcast


Répondre à ce message

Sujets en rapport avec ce message

URGENT: Broadcast en JAVA [ par skysee ] Bonjour,Je voudrais réaliser en JAVA un broadcast sur un réseau pour en lister toutes les machines qui y sont connectées. L'affichage se réalisant com Programmation BROADCAST en JAVA [ par skysee ] Bonsoir,Je voudrais réaliser en JAVA un broadcast sur un réseau pour en lister tout les PC qui y sont connectées. L'affichage de ses PC se réalisant c Urgent projet en Java [ par amazir ] Bonjour chers programmeurs,Au secours, j'ai besoin d'aide pour la réalisation de ces deux sujets.Merci d'avance.Sujet 1 :Ecrire une applet qui réalise Problème threads java [ par idjou ] Bonjour J'ai un problème avec les threads. je vous explique ce que fait mon programme. L'essentiel de mon travail se porte sur des données reçues aide "urgent" [ par soumia_info ] salut,je veut compiler  un fichier ".java" dynamiquement ,donc  j'ai utilise (Process p= Runtime.exec ("javac  nomdeclasse.java"))mais quand j'execute aide (compilation) urgent [ par soumia_info ] je veut compiler un fichier java donc je fait ca Runtime r=Runtime.getRuntime();Process p = null;                   try                       {        exemple de classe réseau en java [ par alias100 ] bonjour,est ce que vous pourrez m'aider à voir quelques exemples de classes programmée en java sur réseaucad traduit l'idee d'un reseau en classes qui administratin réseau snmp en java [ par lamine2020 ] Bonjour, je suis en court de développer un outil d'administration réseau snmp en java qui a pour rôle les fonction suivante: 1; -1; Exploitation du Broadcast ip en java [ par sayaf ] Bonjourj'ai un programme JAVA qui permet de faire un broadcast UDP, mais le souci est qu'il ne prend pas en charge les sous réseaux c'est à dire que s java réseau ad hoc [ par mesbahi ] Salut, je voulais securisé l'accés a un reseau ad hoc et controler les membres connectés par une application javay a t'il  des bibliotheques en java q


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.