Проблемы HTTPUrlConnection на Android - PullRequest
0 голосов
/ 26 марта 2012

Я столкнулся с интересной проблемой с HTTPUrlConnection на Android.Вот шаги
1. Создайте новое соединение HTTPUrlConnection с определенным URL-адресом, скажем, URL
2. Теперь я изменяю настройки APN на уровне устройства
3. Теперь я создаю другое соединение HTTPUrlConnection с тем же URL-адресом.
При попытке прочитать входной поток steam после шага 3, время ожидания соединения.

Другая интересная вещь Когда я изменяю URL на шаге 3, кажется, что все работает нормально

Одной из причин, по которой я могу придумать, может быть то, что Android каким-то образом поддерживает предыдущее соединение и возвращает мне то же соединение на шаге 3, а поскольку APN изменено, это соединение больше не является действительным.

Любые идеи вэто будет с благодарностью.

Спасибо, Манан

1 Ответ

1 голос
/ 26 марта 2012

Одной из причин, по которой я могу придумать, может быть то, что Android каким-то образом поддерживает предыдущее соединение и возвращает мне то же соединение на шаге 3, и, поскольку APN изменяется, это соединение больше не является действительным.

Это очень отчетливая возможность. В Android добавлена ​​поддержка keep-alive до HttpUrlConnection. Обычно настройки APN не меняются (AFAIK), поэтому это не может быть большой проблемой. Тем не менее, вы можете отключить поддержку активности через System.setProperty("http.keepAlive", "false");, в соответствии с этой записью в блоге разработчиков Android .

...