HttpsURLConnection
独自のトラスト マネージャーを使用して SSL (SSL 再開あり) をセットアップしようとしています。
SSL ハンドシェイクと接続しか実行できません。SSL 再開なし- 以前のセッションが再利用されることはありません。
あちこち探しましたが、運がありませんでした。すべての回答は HttpClient を参照しています (これはオプションではありません)。
私のセットアップは次のとおりです。
後で使用するために保存する SSL コンテキストを作成します。
次に、この SSL コンテキストを使用して SSL ファクトリを作成します。この SSL コンテキストは、すべての接続で使用できるように保存します。
すべてがうまくいく接続を開始します。 を受け取り、
sessionID
完全なハンドシェイクが行われ、接続がサーバーに送信されます。- 1 分後、別の接続を開始します。奇妙な理由で、この接続は
sessionID
以前に持っていた を送信しません。のセッションを印刷しますSSLContext
- 最後のセッションはまだそこにあり、有効です。何らかの理由で、この新しい接続はそれを使用しないため、別のセッションが作成され、セッションのキャッシュに追加されます。
Android バージョン 2.3 と 4.1 の両方を 2 つの異なるデバイスで試しました。
多くのGoogleの結果に続いて、何人かのユーザーが提案したようにKeep-Aliveを追加しようとさえしました.
誰かがこれに遭遇しましたか?足りないものはありますか?
接続が最後のセッションを使用しない原因は何ですか?
前もって感謝します!