Я пробовал повторно использовать сеанс SSL на iOS, рабочем столе Java и Android. Похоже, iOS пытается повторно использовать сеансы SSL (но не всегда). Java, кажется, всегда повторно использует сеансы, пока вы передаете имя хоста / порт при создании SSLEngine.
Когда я добираюсь до Android, у меня возникают некоторые проблемы. Код, который я использовал для тестирования повторного использования сеанса Java SSL (создать соединение, отправить пару сообщений, сбросить соединение и подождать одну секунду, повторить), не работал должным образом на Froyo, работал в эмуляторе Gingerbread, но не повторное использование сеансов.
Затем я немного углубился в код Android и вижу альтернативный способ хранения сеансов SSL с использованием SSLSessionCache / SSLCertificateSocketFactory, которые используются AndroidHttpClient. Поэтому я настроил тест для использования AndroidHttpClient, который делал несколько запросов по нескольким соединениям с сервером Apache (который, как я знаю, поддерживает повторное использование сеансов SSL), и он все еще не использовал сеансы в Froyo или в Gingerbread.
Если бы кто-нибудь смог заставить это работать и мог показать пример клиентского кода Android, я был бы очень признателен. Я подумываю о создании отчета об ошибках для Android, но я просто хочу убедиться, что здесь не пропущено что-то очевидное.