Ciao a tutti..
qualcuno sa per caso come si realizza un programma java capace di pingare un host?
Che classe si utilizza?
Ciao a tutti..
qualcuno sa per caso come si realizza un programma java capace di pingare un host?
Che classe si utilizza?
per esempio, su Windows
> pinger.txt serve a salvare il risultato del ping su in un file di testocodice:public class pinger { public static void main (String args[]) { Runtime r = Runtime.getRuntime(); try { Process p = r.exec("cmd /k \"ping google.com > pinger.txt\""); } catch (Exception e) {System.out.println("Qualcosa è andato storto: " + e.toString());} } }
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
La classe InetAddress di Java ha delle funzioni come quelle svolte da programmi come Ping e Nslookup.
A partire da Java 5.0 è possibile verificare se un host è vivo e raggiungibile usando il metodo isReachable (la funzione è equivalente al comando ping e credo sia quello che ti interessa).
Ciao
Credo che la richiesta riguardasse l'implementazione di un programma 'ping' fatto da zero e non la chiamata a un eseguibile di sistema già esistente.
Rilasciata Python FTP Server library 0.5.1
http://code.google.com/p/pyftpdlib/
We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.
gia proprio cosi... partendo da zero, non richiamando il ping.exe!
Mi fate un esempio di codice ?
Non conosco java ma essenzialmente posso dirti la teoria che è comune a tutti i linguaggi. Devi lavorare a basso livello creando:
un pacchetto ip contenente ip sorgente e destinazione.
un pacchetto icmp definendo tipo (ECHO_REQUEST), ID number, checksum e il payload con cui riempire il campo data (il ping di windows ad es ci inserisce tutte le lettere dell'alfabeto).
Successivamente crei un socket di tipo RAW:
s = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP)
s.setsockopt(IPPROTO_IP, IP_HDRINCL, 1)
...mandi il tutto (pacchetto ICMP incapsulato in quello IP) all'ip di destinazione e con lo stesso socket attendi gli ECHO REPLY di risosta che potrai stampare a video.
Penso che trimite google puoi facilmente trovare esempi di codice (il ping è uno dei primi esercizi che si fanno con le socket raw).
Saluti
Rilasciata Python FTP Server library 0.5.1
http://code.google.com/p/pyftpdlib/
We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.
cosi come lhai messo tu è in C++ ?
Intendi il SOCK_RAW? E' preso da un codice Python ma penso che in Java sia simile se non addirittura uguale.
Rilasciata Python FTP Server library 0.5.1
http://code.google.com/p/pyftpdlib/
We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.
ah grazie...cerchero in giro
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"