Lister les serveurs du réseau local (recuperer leurs noms)
olibog
Messages postés3Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention20 janvier 2004
-
16 janv. 2004 à 14:38
cs_loubnita
Messages postés7Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention 6 mai 2004
-
30 avril 2004 à 14:05
Bonjour everybody ,
:question) J'aimerais lister les serveurs présents sur le réseau local et indiquer leur nom ds une liste afin de réaliser un module de connexion à differentes DB.
Le but est que lors de la connexion à une base de donnée, (sql ou oracle) on puisse choisir le serveur voulu et se connecter à la base (en indiquant, bien sur log ,et mot de passe)
ioiomatic
Messages postés44Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention 9 mars 20043 16 janv. 2004 à 15:38
Salut,
connais-tu leur IP, font-ils parti d'un DNS, sur quelle plateforme comptes-tu faire fonctionner ton applis ?
Je pourrais éventuellement t'aider ensuite.
olibog
Messages postés3Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention20 janvier 2004 16 janv. 2004 à 17:22
Merci d'avoir répondu si vite ioimatic :)
Pour ce qui est de tes questions:
- je ne connais pas leur IP.
- L'appli tournera sous win2000/xp.
- les serveurs sql (sqlserver et oracle) sont sur un réseau local.
Y aurait-il moyen de faire un broadcast sur le réseau local afin que les machines reconnues (serveur sql) renvoie leur nom?
ioiomatic
Messages postés44Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention 9 mars 20043 18 janv. 2004 à 22:07
Pas d'IP, pas de DNS, hum....tu connais le réseau sur lequel ils sont au moins ? Si tu connais le réseau, sa classe(A, B, C voire D) ou si tu as un serveur dns sur le réseau, éventuellement, tu pourras faire du broadcast dans le 1er cas, ou les retrouver par leur nom dans le 2nd cas. Je te donnerai un code type pour retrouver les serveurs SQL/oracle et pour savoir s'ils sont en ligne si tu peux m'apporter les infos.
olibog
Messages postés3Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention20 janvier 2004 20 janv. 2004 à 09:02
Hello :) ,
Mon réseau est de type C et je connais les ports ouverts des 2 serveurs pr me connecter aux bases respectives.
Comment faire pr recuperer les noms de ces serveurs ?
Encore merci pr ton aide
Bonne journée 8-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
ioiomatic
Messages postés44Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention 9 mars 20043 21 janv. 2004 à 11:27
Tu dois au moins connais leur IP ou leur nom netbios...
Quoiqu'il en soit, une méthode pour retrouver leur nom via l'ip ou leur ip via leur nom pour savoir s'ils sont en ligne serait de lancer un process comme suit:
Pour retrouver le nom:
Process toto=Runtime.getRuntime().exec("c:\windows\system32\ping -a A.B.C.D");
Pour retrouver l'IP:
Process toto=Runtime.getRuntime().exec("c:\windows\system32\ping nom_DNS");
Ensuite tu récupères le résultat du ping dans un BufferReader le tout dans un try:
try{
BufferedReader br = new BufferedReader(new InputStreamReader(toto.getInputStream());
Et tu parcours ton buffer pour traiter le résultat de tes pings à savoir s'ils sont en time out ou non donc si tes serveurs sont en lignes ou pas:
while((String line = br.readLine()) != null){
ton_traitement;
}
br.close();
} catch(IOException io){ton_traitement_en_cas_d'erreur;}
cs_loubnita
Messages postés7Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention 6 mai 2004 30 avril 2004 à 14:05
Salut
J'ai un pb avec ping.En fait je ne sais pas quand le ping aboutit ou pas.
Autrement dit, quand je ping un IP ki n'existe pas ca a l'air de fonctionner :shock)
En fait, je voudrais savoir la partie "Ton_Traitement" ke tu as mentionné ci dessous.
Je travaille sur windows 2000 server.
J'ai essayé le test suivant:
line = pr.readLine();
if (line.startsWith("Délai")){ stop(true); return;}
Sachant ke sous dos, qd ping n'aboutit pas le message suivant est affiché