powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / HttpsURLConnection: когда закрывать соединение
1 сообщений из 1, страница 1 из 1
HttpsURLConnection: когда закрывать соединение
    #39190943
Валисий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем!
Пишу приложение на андроид, которое взаимодействует с сервером. Пусть адрес сервера: https://myadress.com
Сервер работает с БД: извлекает из нее данные по запросам, делает из этого JSON и возвращает клиенту. Запросы хранятся в виде скриптов.
Клиентское приложение обращается к этим скриптам по адресам типа: https://myadress.com/works/query1, https://myadress.com/works/query2, ... Для каждого запроса в клиентском приложении есть класс-наследник AsyncTask, который содержит поля:
Код: java
1.
2.
URL url; //адрес, к которому выполняется запрос.
HttpsURLConnection connection; //объект для создания соединения


В каждом таком классе вызывается метод openConnection(), осуществляется запрос, и затем (независимо от результата), соединение закрывается вызовом disconnect().
Необходимо работать "безопасно" (используя SSL), поэтому перед первым запросом, выполняемым клиентским приложением (авторизация), я проверяю сертификат сайта. Предполагается, что дальше я буду работать с проверенным соединением.
Вопрос в следующем: как это сделать? Из документации следует, что: "объект HttpsURLConnection используется для создания одного запроса. Но нижнеуровневое соединение с HTTP сервером может быть доступно для других объектов". (в оригинале - may be transparently shared by other instances). Вызовы методов close() для потоков ввода/вывода этого соединения после запроса освобождают сетевые ресурсы, связанные с этим объектм, но не соединение (has no effect on any shared persistent connection). Вызов disconnect() закрывает соединение (may close the underlying socket if a persistent connection is otherwise idle at that time).
Я предполагаю сделать объект HttpsURLConnection static-полем класса UserData, в котором храню данные пользователя. В каждом своем классе-наследнике AsyncTask буду работать с этим полем:
Код: java
1.
UserData.connection = url.openConnection();


И закрою я это соединение только тогда, когда пользователь нажмет кнопку выхода из приложения.
Прошу совета: такой подход имеет смысл? Можно ли в этом случае считать, что клиент один раз создал соединение и работает по нему?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / HttpsURLConnection: когда закрывать соединение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]