Auf dem iPhone führe ich eine Anwendung mit der AsyncUdpSocket-Bibliothek aus, um die UDP-Vernetzung zu verwalten. Ich habe es getestet. Ich kann UDP-Pakete von meinem iPhone an einen Server senden, auf dem ein Java-Programm läuft, das UDP korrekt akzeptiert.
Wenn es jedoch andersherum ist, kommt die UDP-Nachricht des Java-Programms nicht zum iPhone durch. Also beschloss ich, die Bibliothek zu testen, ob sie ihre eigenen UDP-Pakete senden/empfangen kann oder nicht, indem sie 127.0.0.1 auf dem iPhone verwendet, und das Ergebnis ist, dass es funktioniert.
Ich habe mich gefragt, ob die UDP-Pakete gesendet werden oder nicht, also habe ich Wireshark benutzt, um meine Netzwerkaktivitäten zu sehen.
Direktlink zum Bild oben: http://img46.imageshack.us/img46/7939/screenshot20100220at110.png
Im iPhone-Programm weise ich mein UDP-Programm an, eine Verbindung zu 192.168.99.11, also zu meinem MacBook, über Port 55555 herzustellen. Dem Java-UDP-Programm auf meinem MacBook wird mitgeteilt, dass die Remote-IP, zu der eine Verbindung hergestellt werden soll, 192.168.99.13 (mein iPhone) an Port 55555 ist.
Auf Wireshark kann ich sehen, dass ICMP mir mitteilt, dass das Ziel und der Port vom iPhone aus nicht erreichbar sind.
Weiß jemand, warum das iPhone UDP-Pakete blockiert? Oder gibt es etwas, das ich übersehe?