2016-07-08 10 views
0

HTTPSホストに接続するときに複数のNSURLSessionオブジェクトを作成するとよいですか?私がこれを求めているのは、最初のTLSハンドシェーク中にサーバ証明書を評価する必要があるからです(サーバは証明書なしのクライアントを受け入れます)。NSURLSessionDelegateURLSession:didReceiveChallenge:completionHandler:です。HTTPSホストの場合に複数のNSURLSessionオブジェクトを作成する

しかし、これは、このメソッドを実装する基底クラスを作成し、URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:のような他の手段でそれらを使用する場合、将来のすべての代理人を派生させる必要があることを意味します。

また、NSURLSessionごとにURLSession:didReceiveChallenge:completionHandler:が呼び出されることが懸念されます。追加のオーバーヘッドを作成します。 HTTP/1.1に関しては、Connection: keep-aliveがデフォルトの動作でなければならず、(理想的には)新たに作成されたNSURLSessionは、接続プールからの接続を使用する必要があります()。

答えて

0

私はthisテクニカルQ & Aでの私の質問への答え見つけた:NSURLSessionはそれ自身のTLSセッションキャッシュを維持するのでだから私はそれを維持するために、より良いだと思う

...

を接続を実行するたびにTLSハンドシェイクしたくない場合は、NSURLSessionです。

関連する問題