Я написал приложение, чтобы удаленно запускать мой сервер на своем месте. Приложение работает без проблем в эмуляторе, а также на моем смартфоне (HTC желание, Android 2.2), когда WiFi включен. Однако он не работает, когда WiFi отключен.Программирование сокетов для Android без подключения WIFi
Перед повторным запуском сначала проверьте, запущен ли он. Для этого я использую сокеты, и я сначала подключаюсь к адресу dyndns. После этого я пытаюсь подключиться к своему ip-box, где я могу включить свой компьютер, отправив команды через сокет.
При сбое подключения к этому сокету я знаю, что сервер не работает.
Соответствующий код:
socket = new Socket();
socket.connect(new InetSocketAddress(serverName, port), 10000);
status = socket.isConnected() == true;
socket.close();
Если есть исключения (SocketException) Я знаю, что сервер не работает. Этот подход работает отлично, когда я включил WiFi. Однако, если Wi-Fi не включен, соединение всегда говорит, что все в порядке, даже если оно не может установить соединение, поскольку сервер недоступен.
Есть ли способ проверить, действительно ли соединение установлено, даже если WiFi отключен?
Любые предложения приветствуются!
Спасибо,
Rudi
Откуда вы знаете, что соединение действительно не удалось? Даже если WiFi отключен, соединение может все еще происходить через сотовую сеть передачи данных. См. Это, чтобы убедиться, что сотовая сеть передачи данных отключена: http://newbiehelper.blogspot.com/2011/07/disabling-mobile-data-network-in.html – Theo
Поскольку сервер, который я пытаюсь загрузить, не работает невозможно установить соединение. Когда я запускаю программу, когда Wi-Fi включен, вызов socket.connect() завершается с ошибкой как исключение. Я должен добавить, что я нашел очень похожий вопрос о stackoverflow, к сожалению, без ответа. В основном другой вопрос относится к проблемам в 3G-режиме, поэтому, очевидно, я не одинок, чтобы справиться с этой проблемой. –
Итак, он работает с Wi-Fi, он не работает с Wi-Fi, и это происходит как на эмуляторе, так и на реальном телефоне? – Theo