|
|
|
HttpsURLConnection: когда закрывать соединение
|
|||
|---|---|---|---|
|
#18+
Добрый день всем! Пишу приложение на андроид, которое взаимодействует с сервером. Пусть адрес сервера: https://myadress.com Сервер работает с БД: извлекает из нее данные по запросам, делает из этого JSON и возвращает клиенту. Запросы хранятся в виде скриптов. Клиентское приложение обращается к этим скриптам по адресам типа: https://myadress.com/works/query1, https://myadress.com/works/query2, ... Для каждого запроса в клиентском приложении есть класс-наследник AsyncTask, который содержит поля: Код: java 1. 2. В каждом таком классе вызывается метод 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. И закрою я это соединение только тогда, когда пользователь нажмет кнопку выхода из приложения. Прошу совета: такой подход имеет смысл? Можно ли в этом случае считать, что клиент один раз создал соединение и работает по нему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2016, 18:53 |
|
||
|
|

start [/forum/search_topic.php?author=Maria+P.&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
32ms |
get tp. blocked users: |
2ms |
| others: | 611ms |
| total: | 878ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...