begin process at 2012 02 14 05:15:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Au secours

 > 

Urgent : Broadcast en JAVA


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Urgent : Broadcast en JAVA

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ée 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 alimentation d'une base mysql, urgent [ par safaa782003 ] Bonjour, je suis une débutate en java, je cherche à alimenter ma base mysql à partir de mon interface java je porte à votre connaissance que j'arrive jfreechart et mysql(urgent) [ par 123698745 ] Bonjour, Je suis débutant en développement avec java (j2EE). Je dois créer une sortie graphique et statique à partir d'une base de données implémentée 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                       {        probleme urgent en java [ par laguchori ] bonjour tout le monde j'ai commencé a faire un programme java mais je n'arrive pas à le terminer import java.io.*; class Point{ public point(int abs,i


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,998 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales