4 votes

Y a-t-il une limite de connexion pour NSURLConnection dans une application Mac Cocoa ?

J'essaie de construire un module de téléchargement continu et basé sur des connexions multiples avec Objective-C.

J'ai mis en place un nouveau NSThread pour gérer les événements (tels que connection:didReceivedData :) de NSURLConnection. Mais j'ai constaté que mon téléchargement n'est pas aussi rapide que mon test sur pc.

Lorsque j'ai consigné certaines informations sur mon module, j'ai constaté que seules 6 connexions recevaient des données du serveur, alors que j'avais lancé 60 connexions.

Après avoir testé sur un PC Windows, j'ai constaté que le nombre de connexions est bien supérieur à 6.

J'ai donc écrit une autre application de test pour vérifier si je pouvais établir une connexion dans une autre application lorsque mon module de téléchargement est en cours d'exécution.

J'ai programmé la création de 100 connexions dans le fil d'exécution principal et de 100 connexions dans le fil d'exécution d'arrière-plan. [[NSRunLoop currentLoop] run]; Les connexions dont les données sont arrivées sont stockées dans un NSMutableSet partagé en utilisant un verrou pour éviter les conflits de ressources, et cet ensemble mutable est vidé toutes les secondes.

Puis j'ai découvert qu'il y a encore 6 connexions actives (qui ont des données qui arrivent) dans l'ensemble mutable.

Je pense donc qu'il y a une limite au nombre de connexions NSURLConnection par progrès unique dans Mac/Cocoa.

Je veux savoir comment faire pour que la limite soit plus grande, par exemple 20 ou autre ?

Merci d'avance.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X