1

私はdefaultConfigurationでNSURLSessionを作成するカスタムプロトコルを使用しています。アプリケーションは、要求の数百を作っているときHTTPMaximumConnectionsPerHost、timeoutIntervalForRequestは、iOSカスタムプロトコルで使用される場合、defaultSessionに影響しません。

` 
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration]; 

config.timeoutIntervalForRequest = 10.0; 
config.timeoutIntervalForResource = 10.0; 
config.HTTPMaximumConnectionsPerHost = 2; 
config.connectionProxyDictionary = proxyToUse; 

[NSURLProtocol setProperty:@YES forKey:@"MyURLProtocolHandledKey" inRequest:mReq]; 

if(!_mySession) { 
    _mySession = [NSURLSession sessionWithConfiguration:config 
           delegate:self 
         delegateQueue:nil]; 
} 

`

、カスタムプロトコルからの要求にサービスを提供中の応答時間の緩やかな増加がある - ここに私のコードです。私は60秒の最大タイムアウトを見ることができます。これらの設定パラメータの影響はありません。

+0

を、それを言うのは難しいですが、...あなたはこれらの要求は、すべて別々のセッションに入っていないことを確認しています?また、応答時間の段階的な増加は、一度に2つのアクティブな接続に自分自身を制限している場合に期待されるものとまったく同じであることに留意してください。他のリクエストは、送信される機会を待ってキューに入れられます。 – dgatwood

答えて

0

一部のURLSessionConfigurationは、設定を使用して新しいURLSessionを作成する前に設定する必要があります。あなたは次の操作を行う必要はありtimeoutIntervalForRequest設定する例:あなたのコードの残りの部分を見ることなく

let configuration = URLSessionConfiguration.default 
configuration.timeoutIntervalForRequest = 2 
let session = URLSession(configuration: configuration) 
関連する問題