A
A
A_Klinsky2015-11-24 12:06:00
Android
A_Klinsky, 2015-11-24 12:06:00

How to eliminate the increasing delay when sending data via EDGE?

Question to the guru of client-server applications for mobile networks.
There is a client-server application for android. The Android client sends a UDP packet (about 100 bytes) to the server every 100 ms. One packet data field is the timestamp. Time on client and server is synchronized. The mobile operator's EDGE is used as a network. On the server, every second we compare the timestamp received from the client with the current time and get the following picture:
Client time 17:30:01, server
time 17:30:01 Client time 17:30:02, server time 17:30:02
Client time 17 :30:03, server time 17:30:04
client time 17:30:04, server
time 17:30:05 client time 17:30:05, server time 17:30:06
Client time 17:30:06, server
time 17:30:07 Client time 17:30:07, server
time 17:30:08 Client time 17:30:08, server time 17:30:11
Client time 17:30 :09, Server Time 17:30:11
Client Time 17:30:10 Server
Time 17:30:11 Client Time 17:30:11 Server Time 17:30:20 Client Time 17:30:12 Server
Time 17:30:20
Client time 17:30:13 Server
time 17:30:20 Client time 17:30:14 Server
time 17:30:21 Client time 17:30:15 Server time 17:30:22
Client time 17:30:16, server
time 17:30:23 Client time 17:30:17, server
time 17:30:24 Client time 17:30:18, server time 17:30:25
Client time 17:30 :19, server time 17:30:26
Client time 17:30:20, server
time 17:30:27 Client time 17:30:21, server time 17:30:28
After the occurrence of lags at the 8th and 11th seconds, packets begin to be transmitted from the 20th second. As a result, we get a static delay in receiving packets of 7 seconds. With the subsequent occurrence of lags, this delay increases significantly. Moreover, the queue of outgoing messages is formed on the client, because if the client is disconnected from the network, late packets will not come. I'm looking for an answer on how to make sure that the generated packets during the lag are not sent to the network or accumulated in the buffer. It is necessary to receive a maxim Tried to change the value of SO_SNDBUF in the socket options on the client up to zero, but there was no effect.

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question