Se dovete implementare il ping come quello che fa il comando dos o linux e vi trovate ad avere a disposizione questi modi di implementazione:


1)creare una connessione ad una serversocket e registrare il tempo che impiega a connettersi (oppure inviare un pacehetto tcp e registrare quanto tempo impiega a tornare indietro)

2) utilizzare invece che tcp il protocollo udp

3) lanciare con le classi Proccess ed execute (se non erro) il comando dos, distinguendo da sistema operativo crearsi un parser diverso per leggere la durata

4)visto che si ha a disposizione un sistema già configurato come un agente oppure un programma di share che mette a disposizione i suoi protocolli base per essere estesi con funzionalit aggiuntive utilizzando i metodi messi a disposizione e ricavare il tempo controllando invio e ricezione del messaggio (tipo il punto 1 con tcp o udp solo che si usa la comunicazione/il protocollo del sistema che si sta utilizzando)

usare icmp ve lo sconsiglio (già provato) prima perchè non tutti gli isp accettano pacchetti icmp infatti il ping in dos e linux usano anche altre sistemi per scavallare eventuali firewall e porte/protocolli bloccati, in più in java non esistono procedure metodi sui raw socket e le librerie/chiamate al sistema operativo sottostante danno tempi diversi da sistema o. a sistema o., questo credo forse dia anche già per scontato scartare il punto 3 e rimarebbero il punto 1, 2 e 4..voi che dite?

Quale secondo voi è più affidabile, più preciso (con risultati equilibrati) sapendo che si deve integrare in un sistema come al punto 4?