Я бы хотел реализовать программу ping ICMP на Java, для этого есть два способа.
Использование InetAddress:
InetAddress inet = InetAddress.getByName(args[0]);
inet.isReachable(1000);
Использование Process + Command:
Runtime rt = Runtime.getRuntime();
Process mypro = rt.exec("ping " + args[0]);
mypro.waitFor();
Но все они имеют недостатки:
Первый путь:
- Я не могу указать локальный IP и указать TOS,
такие как: ping -I localip DestIP -Q 120
Второй способ:
- Он может выполнить все требования, но я беспокоюсь о производительности,
потому что каждый пинг создает отдельный процесс,
если бы у меня были миллионы пингов, это было бы ужасно.