Java.net.SocketException: семейство адресов не поддерживается протоколом в эмуляторе AndroidJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java.net.SocketException: семейство адресов не поддерживается протоколом в эмуляторе Android

Сообщение Anonymous »

Я пытаюсь запустить простое приложение для доступа к Интернету из эмулятора Android, и вот мой код. Я использую прокси-сервер и настроил параметры прокси-сервера в эмуляторе с помощью «... Беспроводные сети -> APN -> ...». Но интернет работает из браузера, а не из приложения.

Код: Выделить всё

            HttpURLConnection connection = null;
String URLName = "http://www.google.com";

try {
URL u = new URL(URLName);
connection = (HttpURLConnection) u.openConnection();
connection.setRequestMethod("HEAD");
int code = connection.getResponseCode();
Log.d(TAG1, " " + code);
// You can determine on HTTP return code received. 200 is success.
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.d(TAG1, e.toString());
}

finally {
if (connection != null) {
connection.disconnect();
}
}
Часть журнала ошибок в Logcat выглядит следующим образом:

Код: Выделить всё

01-11 01:01:26.308: DEBUG/SntpClient(72): request time failed: java.net.SocketException: Address family not supported by protocol

01-11 01:02:39.909: WARN/System.err(422): java.net.SocketException: The operation timed out
После поиска на форуме я попробовал следующие варианты, но ни один из них не работает:
  • В параметрах запуска Android я использовал -http-proxy server:port -dns-server server
  • Я включил разрешения Интернета в файл манифеста

    uses-permission android:name="android.permission.INTERNET"

    Код: Выделить всё

    uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"
    
  • Настройте в свойствах системы использование стека ipv4 после того, как кто-то предложил

    Код: Выделить всё

            java.lang.System.setProperty("java.net.preferIPv4Stack", "true");
    java.lang.System.setProperty("java.net.preferIPv6Addresses", "false");
    
Я работаю на Android 2.2 и Windows Vista, не могли бы вы мне помочь...

Подробнее здесь: https://stackoverflow.com/questions/881 ... android-em
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»