На iPhone я запускаю приложение с библиотекой AsyncUdpSocket, чтобы заботиться о сетях UDP. Я проверил это. Я могу отправить UDP-пакет со своего iPhone на сервер, на котором Java-программа правильно принимает UDP.
Однако, когда все наоборот, UDP-сообщение Java-программы не доходит до iPhone. Поэтому я решил проверить библиотеку, может ли она отправлять / получать свои собственные пакеты UDP или нет используя 127.0.0.1 на iPhone, и в результате он работает.
Итак, мне было интересно, отправляются ли UDP-пакеты или нет, поэтому я использовал Wireshark, чтобы увидеть мою сетевую активность.
Прямая ссылка на изображение выше: http://img46.imageshack.us/img46/7939/screenshot20100220at110.png
В программе iPhone я приказываю своей программе UDP подключиться к 192.168.99.11, который является моим MacBook, с использованием порта 55555. Программе Java UDP на моем Macbook говорят, что удаленный ip для подключения - 192.168.99.13 (мой iPhone) через порт 55555.
В Wireshark я вижу, что ICMP сообщает мне, что пункт назначения и порт недоступны для iPhone.
Так кто-нибудь знает, почему iPhone блокирует UDP-пакеты? Или я что-то упускаю из виду?