как написать мониторинг ip адресов?

Ответить
Maks1m
Сообщения: 3
Зарегистрирован: 01 сен 2014, 11:42

как написать мониторинг ip адресов?

Сообщение Maks1m » 01 сен 2014, 12:00

Здравствуйте, пытаюсь написать прогу мониторинга сетевых устройств но все никак не выходит вот листинг функции которая принимает строковое значение ip и должна возвращать true если пинг прошёл

System.out.println(" executeCammand");
System.out.println(" ip " + ex);
Runtime runtime = Runtime.getRuntime();
try
{
Process mIpAddrProcess = runtime.exec("/system/bin/ping -w 1 -c 1 " + ex);
int mExitValue = mIpAddrProcess.waitFor();
System.out.println(" mExitValue "+mExitValue);
if(mExitValue==0){
return true;
}else{
return false;
}

catch (InterruptedException ignore)
{
ignore.printStackTrace();
System.out.println(" Exception:"+ignore);
}
catch (IOException e)
{
e.printStackTrace();
System.out.println(" Exception:"+e);
}

return false;

но он у меня кроме 1270.0.1 ничего пропинговать не может. Подскажите как еще можно получить пинг

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: как написать мониторинг ip адресов?

Сообщение altwin » 01 сен 2014, 14:46

все работает.

На stackoverflow.com тему из которой вы взяли свой код вы дальше вообще читали? ( http://stackoverflow.com/a/16458623 )
In my case ping works from device but not from the emulator. I found this documentation:
this is a known limitation of the QEMU user-mode network stack. Quoting from the original doc: Note that ping is not supported reliably to the internet as it would require root privileges. It means you can only ping the local router (10.0.2.2).
Изображение

Maks1m
Сообщения: 3
Зарегистрирован: 01 сен 2014, 11:42

Re: как написать мониторинг ip адресов?

Сообщение Maks1m » 02 сен 2014, 07:14

Читал, но я пробовал и на телефоне, и локальные адреса, у меня почему то вообще не работает, и если эмулятор хотябы сам себя пингует то с телефона ваще ничего не пингуется, я думаю что нужно добавить какойто permission в манифесте, <uses-permission android:name="android.permission.INTERNET"></uses-permission> я добавил но все равно не работает, может еще какие добавлять нужно?

Ответить