Quote:
Originally Posted by abahadilah
i have develop client application in blackberry which is connect and then waiting data from server. When trying in emulator the latency is none, but when deployed to device using GPRS, the latency is huge, and because the app suppose to be real time, it become an issue. Do you have solution for that.
|
Burst the data out in 500 millisecond bursts at the minimum -- GPRS can only transmit about one to three packets per second, so if you have a realtime application (i.e. telnet), you should buffer all your packet transmissions and burst them out on a 500 millisecond timer (approximately). Either for incoming and outgoing data where possible. That way, it doesn't end up lagging for more than 1 second (which can happen if you rapid-fire transmit many packets. You can transmit up to about 5 kilobytes per second over GPRS, but to do so, you need to burst them out efficiently. GPRS is very bottlenecked in terms of number of packets per second. In fact, you can get less latency bursting a single 1Kbyte packet, than transmitting three separate 100-byte packets!
Server side programming: Make sure the server bursts out the data all at once, so the BlackBerry can read it all at once, quickly
Client side programming: Make sure the client bursts out all data necessary, in as short time period..
Regardless of the technique, you still have appoximately 600 to 1000 milliseconds of unavoidable latency -- but at least it won't be much worse than that (which can happen if you transmit multiple packets in rapid-fire fashion)