Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1348 connectés 

 


Dernière réponse
Sujet : [JAVA/RESEAUX] pinger / Problème avec les flux
Roco Thx les gars, je vais pouvoir avancer un peu plus ce soir!
 
Je me doutais bien que cela allait posé un pb car le protocole ICMP n'est pas implémenté dans JAVA et que l'utilisation d'UDP n'est qu'un contournement (habile?) du problème.
 
Enfin je regarde cela ce soir...

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Roco Thx les gars, je vais pouvoir avancer un peu plus ce soir!
 
Je me doutais bien que cela allait posé un pb car le protocole ICMP n'est pas implémenté dans JAVA et que l'utilisation d'UDP n'est qu'un contournement (habile?) du problème.
 
Enfin je regarde cela ce soir...
benou http://www.ping127001.com/pingpage.htm
y a une rubrique java avec 3 liens ...
darklord Re comme promis je te réponds avec un peu de retard désolé ;) Pour le méchanisme qui permet à InetAddress de récupérer l'ip sur base du nom il n'y a rien de sorcier. C'est le mécanisme utilisé par n'importe quel autre process de la machine à savoir l'accès au DNS qui eux meme te donnent accès à d'autre DNS pour les autres domaines.
 
Pour ton client ping, mon bouquin "Java Network Programming" répond à la question
 

Citation :


For the purpose of this client, we use the UDP "echo" service that many hosts support. This service simply echoes bach any packet that are received on port 7 (RFC 862) [...]


 
Selon moi cette solution n'est pas 100% sûre. Logiquement tu dois passer par ICMP mais pour cela tu dois utiliser un programme externe ou un Runtime, idée qui est confirmée sur un autre site
 

Citation :


Java includes support for UDP and TCP sockets. PING requires support for the Internet Control Message Protocol (ICMP). Your only choice (at the moment), is to use native code, or to use java.lang.Runtime to execute an external ping application. You won't be able to develop a 100% Pure implementation.
 
NB - A native implementation that uses the Java Native Interface (JNI) is available for PING, in both English and Spanish. See http://www.geocities.com/SiliconValley/Bit/5716/ping/ for more details.


 
J'ai le code du client qui ping via le service echo. C'est un mécanisme astucieux mais non standard. Si ca t'intéresse je vais essayer de le mettre quelque part (il est qd meme long)
 
Bonne chance  :hello:  
 

darklord

Roco a écrit a écrit :

 :sweat:  




 
sorry je te réponds demain si personne ne l'a encore fait ;)
 
A+

Roco :sweat:
Roco

DarkLord a écrit a écrit :

bin il fait une résolution tout à fait standard utilsant le DNS
host -> IP  




 
Ok.
 
Heu Dark tu pourrais me donner une piste plize!
 
Je voudrais pinger sur une machine avec un prog en java.

darklord bin il fait une résolution tout à fait standard utilsant le DNS
 
host -> IP
Roco Salut :hello:  
 
Ca faisait longtemps!
 
Voilà j'ai le prog suivant :  
 
import java.net.*;
 
public class reseau1 {
 
 public static void main(String args[]) {
  InetAddress server;
  try {
   if (args.length > 0) {
    server = InetAddress.getByName(args[0]);
   }
   else {
    server = InetAddress.getLocalHost();
   }
   System.out.println(server);
  }
  catch (UnknownHostException pb) {
   System.out.println("Probleme : " + pb);
   
  }
 }
 
}
 
et je voudrais savoir comment la méthode va "chercher" l'adresse ip de la machine que je lui donne.
 
le prog va -t-il lire le fichier host de la machine local? Le prog lance t-il une recherche (genre MAC ou IP) sur le réseau? Ou est-ce encore autre chose?

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR