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