2015-05-27 3 views
1

У меня есть виртуальный маршрутизатор на моем ноутбуке, к которому подключен мой малиновый pi. Он работает несколько ява процессов, что мне нужно, чтобы отслеживать выключен, так что если он разъединяет я хочу, чтобы он перестанет работать, так:Raspberry Pi java wifi checker

while(true){ 
    if(WifiChecker()) 
     return; 
    //do rest 
} 

Есть ли способ сделать это? Если возможно, мне также понравится что-то легкое, что заставляет его подключаться к моему виртуальному Wi-Fi, хотя это необязательно.

+0

Это может выглядеть как 'if (WifiChecker.isConnected())', но, кроме того, это должно быть возможно. Для большей помощи нам, скорее всего, понадобится дополнительная информация. – Thomas

+0

Самый простой способ - просто попытаться выполнить ping/connect to google.com, если это не удается, у вас, вероятно, нет подключения к Интернету (или Google, конечно, не работает). – User404

ответ

1

Просто попробуйте pinging IP-адрес этого виртуального маршрутизатора или, альтернативно, какой-либо адрес в Интернете (Google или подобные крупные сайты отлично подходят для этого, так как они, вероятно, не будут отключены).

Для этого вы можете использовать Java-сокеты, но вам потребуется root-доступ, как указано в самом верхнем ответе this thread about pinging with java.

В качестве альтернативы вы можете использовать ProcessBuilder для запуска самой утилиты ping и изучения ее вывода и/или кода ошибки.