Correction: InetAddress.isReachable() does not 'send the ICMP ECHO'.
It tries to work around the Android/Java limitation of not being able
to craft and send an ICMP packet by
1) Sending a tcp connect on the echo port (port 7)
2) Recognizing a response (any response whether a successful connect
OR a reset) as an indication that the destination exists
At best this is a hack. Port 7 is generally not allowed by firewalls
and therefore this method rarely works for hosts outside your own
subnet. The only way (as far as i know) to 'ping' in non-rooted
standard-issue Android is by using the command-line 'ping' utility.
I would love to know other ways of pinging if anyone else knows.

On Aug 24, 10:59 am, Daniel Drozdzewski <[email protected]>
wrote:
> On 18 August 2011 20:39, Luiz Carvalho <[email protected]> wrote:
>
> > Hello Guys
>
> > I've got a problem.
> > I can't run ping on emulator, even rooted, only in my Galaxy 5.
>
> > Using this procedure:
>
> >             proc = Runtime.getRuntime (). exec ("su");
> >             DataProc = new DataOutputStream
> >             DataOutputStream (proc.getOutputStream ());
> >             dataProc.writeBytes ("exec pingwww.google.com-c2 \ n");
>
> > I get the response in the device, but in the emulator  no have
> > answers.
>
> > I need of the statistics generated by ping.
>
> > Can anyone help me?
>
> Is there some spacing issue in your command line: "-c 2" ?
>
> There is much better solution:
>
> use InetAddress.isreachable(). It does send the ICMP ECHO (i.e. ping).
>
> You can get your stats by timing this call (or multiple calls).
>
> --
> Daniel Drozdzewski

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to