Как отправить пакеты ICMP (со связанными значениями TTL) в Java на Android?Возможно ли это без сторонней библиотеки?Если нет, что вы используете? - PullRequest
1 голос
/ 27 сентября 2010

Кажется, это должно быть простое решение, но мне не повезло.Я хочу написать простое приложение для устранения неполадок ping / traceroute / dns, но я просто не нахожу документацию или примеры по отправке пакетов ICMP ECHO с установленными TTL и интерпретации их ответов.Я понимаю, что Java любит держать вас подальше от "низкоуровневых" сетей, но ICMP является основной, основной частью сетей.Честно говоря, я в шоке от очевидной трудности.Я делаю это более сложным, чем нужно, или буквально нет хорошего способа сделать это?Если последнее, каким «плохим» способом вы чаще всего обходите этот недостаток?

1 Ответ

1 голос
/ 27 сентября 2010

Я делаю это более сложным, чем нужно, или буквально нет хорошего способа сделать это?

Нет чистого Java-способа сделать это. Java никогда не поддерживал ICMP, кроме его ограниченного использования в isReachable(), и я даже не могу подтвердить, что такое использование ICMP существует в Android.

Однако вы можете попробовать использовать NDK для связи в библиотеке C, которая реализует ICMP.

...