2010-05-06 8 views

Répondre

1

Voir this thread sur le site Web du SDK pour iPhone.

Le réseau CF est des trucs un peu confus et difficile à envelopper votre tête autour. Mais, il est juste un ensemble de fonctions qui utilisent des sockets BSD et les intégrer avec la boucle d'exécution afin vous n'avez pas besoin de créer des threads. Vous pouvez toujours utiliser les sockets BSD vous

En fait, le fil souligne plusieurs bibliothèques/cadres qui intègrent bien avec l'environnement iPhone, et en utilisant l'un d'eux au lieu de sockets BSD droites ne sera probablement pas faire de la performance significative différence. Sauf si vous êtes vraiment à l'aise avec la programmation de socket de bas niveau, vous êtes probablement mieux avec l'une des bibliothèques. Ne faites pas d'optimisation prématurée - utilisez l'interface de connexion la plus confortable et qui vous aidera à effectuer le travail rapidement et à produire un code clair et maintenable.

EDIT

En réponse à la question de Jim ci-dessous:

Oui. Il y a quelques facteurs qui déterminent la largeur du système et les limites de la socket de processus. Jetez un oeil at this article pour une discussion de ces questions. iPhone et Linux sont des systèmes d'exploitation basés sur Unix, ils partagent donc probablement certaines de ces limitations de socket liées à l'administration système, mais vous devrez rechercher les détails d'administration spécifiques au système. Deuxièmement, il existe des limites imposées par l'architecture d'UDP et de TCP. Fondamentalement, UDP et TCP sont limités à 2^16 sockets d'écoute par adresse IP de machine car une prise d'écoute est définie par une adresse IP fixe de 32 bits et un numéro de port de 16 bits. Cependant, étant donné qu'un socket connecté est défini par l'ensemble de [[src IP] [src Port] [dst IP] [port dst]], le nombre de sockets connectés que vous pouvez théoriquement avoir sur une seule machine IP est significativement plus élevé , quelque chose comme 2^64 bien que pratiquement votre système d'exploitation serait probablement avant que vous atteigniez cette limite.

+0

Merci pour vos entrées.Une autre question à ce stade est-il une limitation du nombre de connexions lors de l'utilisation des prises? – Jim

+0

@Jim: Ma réponse est trop longue pour un commentaire, donc je l'ai ajouté comme une modification à ma réponse, voir ci-dessus. –

+0

Merci Roberts, c'est logique. – Jim