Насколько эффективны сокеты BSD для переписывания серверных клиентских приложений на iphone? - PullRequest
0 голосов
/ 06 мая 2010

Я создаю сервер-клиентское приложение для iPhone. Я хочу общаться между двумя приложениями в одной сети.

Для этой функции я планирую использовать сокеты. Сколько эффективных BSD разъемов для использования с iphone ??

Есть ли опция для реализации той же функциональности?

Спасибо,
Джим.

1 Ответ

1 голос
/ 06 мая 2010

См. эту тему на веб-сайте iPhone Dev SDK.

Сетевые ресурсы CF немного сбивает с толку и трудно обернуть голову вокруг. Но это просто набор функции, которые используют сокеты BSD и интегрировать их с циклом выполнения так вам не нужно создавать темы. Вы все еще можете использовать BSD сокеты самостоятельно

По сути, поток указывает на несколько библиотек / фреймворков, которые хорошо интегрируются со средой iPhone, и использование любой из них вместо прямых сокетов BSD, вероятно, не будет иметь существенного различия в производительности. Если вы не очень удобны в низкоуровневом программировании сокетов, вам, вероятно, лучше использовать одну из библиотек.

Не выполняйте преждевременную оптимизацию - используйте любой интерфейс сокетов, который вам наиболее удобен, и который поможет вам быстро выполнить работу и создать понятный, поддерживаемый код.

EDIT

В ответ на вопрос Джима ниже:

Да. Существует несколько факторов, которые определяют пределы всей системы и сокета процесса. Посмотрите на эту статью для обсуждения этих вопросов. iPhone и Linux являются ОС на основе Unix, поэтому они, вероятно, разделяют некоторые из этих ограничений сокетов, связанных с системным администратором, но вам придется поискать подробности системного администратора.

Во-вторых, существуют ограничения, налагаемые архитектурой UDP и TCP. По сути, UDP и TCP ограничены 2 ^ 16 сокетами прослушивания на IP-адрес компьютера, поскольку сокет прослушивания определяется фиксированным 32-битным IP-адресом и 16-битным номером порта. Однако, поскольку подключенный сокет определяется набором [[src IP] [src Port] [dst IP] [dst Port]], то количество подключенных сокетов, которые вы теоретически можете иметь на одной машине IP-адрес значительно выше, что-то вроде 2 ^ 64, хотя практически ваша ОС, вероятно, преградит путь, прежде чем вы достигнете этого предела.

...