Я написал приложение для удаленного запуска моего сервера дома. Приложение работает без проблем в эмуляторе, а также на моем смартфоне (HTC desire, Android 2.2) при включенном WiFi.
Однако это не работает, когда WiFi отключен.
Перед перезапуском я сначала проверяю, запущен ли он. Для этого я использую сокеты и сначала подключаюсь к адресу dyndns. После этого я пытаюсь подключиться к своему ip-боксу, где я могу включить компьютер, отправляя команды через сокет.
Когда соединение с этим сокетом не удается, я знаю, что сервер не работает.
Соответствующий код:
socket = new Socket();
socket.connect(new InetSocketAddress(serverName, port), 10000);
status = socket.isConnected() == true;
socket.close();
Если есть исключение (SocketException), я знаю, что сервер не работает.
Этот подход отлично работает, когда я включил WiFi. Однако если WiFi не включен, то при подключении всегда говорится, что все в порядке, даже если не удалось установить соединение, поскольку сервер недоступен.
Есть ли способ проверить, действительно ли установлено соединение, даже если WiFi отключен?
Любые предложения приветствуются!
Спасибо
Rudi