views:

348

answers:

1

On iPhone, I am running an app with AsyncUdpSocket library to take care of UDP networking. I have tested it. I can send UDP packet from my iPhone to a server that runs Java program accepting UDP correctly.

However, when it is the other way around, Java program's UDP message doesn't get through to iPhone. So I decided to test the library whether it can send/receive its own UDP packets or not using 127.0.0.1 on iPhone, and the result is it works.

So I was wondering whether the UDP packets are being sent or not, so I used Wireshark to see my network activity.

alt text

Directlink to image above: http://img46.imageshack.us/img46/7939/screenshot20100220at110.png

In the iPhone program, I instruct my UDP program to connect to 192.168.99.11, which is my MacBook, using port 55555. The Java UDP program on my Macbook is being told that the remote ip to connect to is 192.168.99.13 (my iPhone) on port 55555.

On Wireshark, I can see that ICMP is telling me that the destination and port are unreachable from iPhone.

So does anybody know why iPhone blocks UDP packets? Or is there something I overlook?

+1  A: 
Nikolai N Fetissov