Here is the configurations: - Client application that uses NDK for networking. - Maintains an open TCP connection at times. - Server occasionally sends the app a TCP message - Client occasionally sends the server a TCP message - Tested primarily on Nexus S (also Galaxy S, Nexus One)
Here are the facts we are pretty sure we know: - Message transit time is monitored carefully by checking timestamps of the client and server logs (and with tcpdump). - About 1 in 50 TCP messages from the server to the client are delayed until the client sends a TCP message to the server - These delayed message always arrive (eventually) - The delayed message only arrives at the client immediately after the client send an outgoing TCP message to the server - Aside from the delayed messages, all non-affected messages from the server to the client (remember occasionally) take 4-6 seconds to be received (whereas Wifi is instant) - Messages sent from the server to the client in quick succession appear to arrive more quickly. - At other times, the app exchanges a series of back and forth messages with the server. This often completes within 1 second (~3 back and forth exchanges) - using tcpdump to monitor the device shows matching behaviour. tcpdump see the exact same delay for incoming TCP message as the app does. - tcpdump also show the correspondence of the outgoing TCP message that seems to "release" the inbound message. - this happens whether the device is asleep or awake. - We don't think it happens under Wifi (no reports) - This happens on at least 2 cellular providers in 2 different countries (Japan & Canada) - These tests are almost always performed with the device sitting on a desk (not moving or in transit) Questions: - Is this a known behaviour of 3G data networking? - Is anyone aware of this as an issue with Android (2.3.X) Given the above results, we don't think this is a problem with the application because tcpdump also sees the delay. It sort of feels like a delayed ACK behaviour gone bad. If anyone can offer insight as to whether this might be an Android issue or possible an understood behaviour of cellular network, I appreciate it. Cheers -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en