07-20-2009 09:16 AM
My application downloads files of anywhere between 100kB and 2MB using http and https. I'm using ";interface=wifi;deviceside=true"
When I capture the TCP/IP traffic at the server side I see duplicate ACKs from the phone, gaps in traffic waiting for responses from the phone and retransmissions from the server - so either the phone is very slow to respond or packets are getting lost. If I connect a Mac to the same WiFi network and make the same requests from the server I don't see the same issues and the download is many times faster.
My suspicions are
1. Perhaps my app is using too much CPU so the TCP stack on the phone is not able to respond. This doesn't seem likely as the phone UI is still very responsive. Any ideas for monitoring CPU usage on the phone?
2. It almost looks like there's a bug in sequence number handling in the phone TCP stack and it is acknowledging the byte at the start of the received packet and not the next byte it expects to receive. This seems hard to believe and I have no strong proof as yet.
3. The wifi aerial / electronics in the phone are not as good as the Mac's so it is dropping more packets. I've tried a couple of different BBs so far with the same result, so this doesn't seem likely either
Any other ideas or suggestions?
Solved! Go to Solution.