Программирование сокетов Android без подключения WIFi

Я написал приложение для удаленного запуска домашнего сервера. Приложение без проблем работает в эмуляторе, а также на моем смартфоне (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 отключен?

Любые предложения приветствуются!

Спасибо,

Руди

7
задан Rudolf Ziegaus 2 January 2012 в 01:27
поделиться