This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

tcp connection slow over gprs

Hello,

we are sending data using method
www.keil.com/.../rlarm_tn_using_tcpsoc_example.htm

however, the ping delay between the server and client is more than 1500ms (VPN over slow GPRS)
the data transfer using the method above is ~0.5kB/s

We tested the build it http server with 74kB file, it has same problem as our TCP socket communication (~0.5kB/s)

We tested PC-PC interconnected over the same GPRS VPN and we reached 2.5kB/s which is the reasonable limit for GPRS.

Is it possible to send more than one packed and wait ACK for each of it ? E.g. we would allocate N (eg. 10) buffers, tcp_send all buffer and then wait for ACK per each buffer.

Or could you suggest any other method to send data over high latency network using TCP ?

Thank you !

Parents
  • It appears that Keil's implementation of TCP allows only one unacknowledged packet 'in-flight.' This greatly simplifies TCP implementation, but obviously severely limits bandwidth on high-latency networks.
    There are more sophisticated TCP implementations around which don't have this limitation: commercial ones like Interniche and free/open-source ones like LWIP.

Reply
  • It appears that Keil's implementation of TCP allows only one unacknowledged packet 'in-flight.' This greatly simplifies TCP implementation, but obviously severely limits bandwidth on high-latency networks.
    There are more sophisticated TCP implementations around which don't have this limitation: commercial ones like Interniche and free/open-source ones like LWIP.

Children
No data