сеть в Java - PullRequest
       2

сеть в Java

1 голос
/ 31 марта 2012

Я хочу проверить, находится ли машина в сети или не использует IP-адрес, и я использовал

if (InetAddress.getByName(ip).isReachable(3000))

, но благодаря этому мой полный проект стал очень медленным, даже если IP-адрес доступен.Через некоторое время это показывает, что он не отвечает.Есть ли альтернатива этому методу?

Спасибо

Ответы [ 2 ]

1 голос
/ 28 февраля 2014

Вы просто создаете сокет и пытаетесь подключиться к узлу, который хотите проверить, если он выдает исключение, это означает, что узел в данный момент недоступен.

0 голосов
/ 31 марта 2012

У меня та же проблема, но я использую другое альтернативное решение , если вы используете ОС Windows .Просто отправьте ping на этот IP-адрес, а ping - ответ за миллисекунду, так что вашему приложению не нужно ждать.

, если ping отвечает текстом Respond, чем ваши сообщения.Пример кода:

Process p = Runtime.getRuntime().exec(new String[]{"ping", your_ip_address});
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...