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

Reply via email to