Connect () от ios к устройству ios в той же подсети - PullRequest
1 голос
/ 06 февраля 2012

Я разрабатываю приложение IOS, для которого необходимо установить стандартное TCP-соединение от одного iPhone (или iPod) к другому. Хорошо работает связь между приложениями на симуляторе и устройстве, а также между двумя симуляторами.

Приложение использует posix connect (), и я должен придерживаться этого метода, потому что другие модули являются чистыми C.

При вызове блоков приложения connect () и после тайм-аута возвращается ошибка. Связь через wifi в локальной сети

Я понюхал трафик и обнаружил, что после подключения к симулятору устройство отправляет ARP, а после ответа продолжается стандартное TCP-квитирование и выполняется сеанс.

Тот же самый случай с iPhone <> iPhone останавливается после запроса ARP, потому что другой iPhone не отвечает на него. Кроме того, iOS отправляет только бесплатную ARP (объявляет, что это Mac IP-пара). Мой MAC, похоже, выполняет этот запрос, потому что его таблица ARP имеет запись iPhone, она не работает для другого iPhone.

Я пробовал службу Bonjour, но она также работает только с симулятором <>.

Мой вопрос: Есть ли способ разрешить такое общение? Возможно ли, что это проблема только с моими iPhone? Есть ли какой-либо явный способ сообщить ОС об отправке ответа для arps, или он каким-то образом заблокирован для трафика ios <> ios communication.

1 Ответ

1 голос
/ 20 апреля 2012

Не уверен, поможет ли это, но я работаю над проектом, который делает нечто подобное с устройствами, объявляющими о себе в сети.Мы используем SSDP для отправки активного запроса с одного устройства, а другие устройства прослушивают многоадресный адрес и порт.Как только каждое устройство получает живой, оно отправляет ответ со всеми соответствующими сведениями, включая IP-адрес и порт.К сожалению, SSDP - это протокол отправки и забывания, поэтому здесь есть проблемы.Мы используем IP-адрес и информацию о порте для отправки сообщений непосредственно на каждое устройство.

Опять же, не уверен, поможет ли это в вашей ситуации, но я до сих пор видел эту работу очень хорошо.

...