Как прослушивать сетевой порт в Objective-C - PullRequest
4 голосов
/ 02 сентября 2010

Я пытаюсь создать приложение для iPhone, которое может прослушивать трафик через определенный сетевой порт.

Сервер в моей сети отправляет сообщения (различные сообщения о состоянии устройств, которые сервер обрабатывает) на определенный порт.

Моя проблема в том, что когда я создаю поток и makePairWithSocket, я блокирую порт для тех, кто хочет отправлять сообщения на сервер, поэтому я хочу только прослушивать трафик на указанном порту, а затем проверять наличие определенных херадеров и используйте эти сообщения. Я знаю, как установить соединение и общаться с сервером, используя потоки записи и чтения, но затем я делаю PairWithSocket и блокирую порт для всех других устройств в сети

Кто-нибудь, у кого есть какие-либо предложения о том, как прослушивать порт в Objective-C без сопряжения с сервером?

Заранее спасибо Daniel

Ответы [ 2 ]

4 голосов
/ 03 сентября 2010

Проверьте CocoaAsyncSocket. Это дает вам хороший и структурированный способ (с делегатами) для отправки и получения данных ... также с несколькими клиентами. Документация довольно хорошая. ссылка на проект

edit: Взгляните на класс AsyncUdpSocket для UDP-соединения без сохранения состояния.

0 голосов
/ 03 сентября 2010

Я думаю, что для этого требуется поддержка сети значительно ниже уровня API сокетов, возможно, на уровне аппаратного драйвера, при условии, что пакеты даже маршрутизируются на ваше устройство.

...