Christopher Fairbairn
Hi,
Jari Niskala wrote: |
So the specific question is: Is it possible to receive UDP messages on the device when using GPRS Any other pointers, tips appreciated. | |
Yes it is possible. I have previously worked on a large enterprise level application built on the Windows Mobile platform which soely used UDP to communicate over a wide range of network types (including GPRS) in a number of regions world wide.
It is not without it's challenges though.
Can you explain when/how you are attempting UDP communications. Are you storing the IP address of the PDA and at some stage in the future sending a UDP packet
If you send a UDP message from your PDA and monitor the PDA's IP address from the server you will probably see the IP address changing every so often even though you are using the same PDA for all tests and it hasn't lost GPRS coverage during the test.
Most teleco's have a fixed number of routable IP addresses (much less than the number of customers they have), so access to the internet etc goes through a gateway which allocates them an address out of a pool. These allocations typically have a timeout associated with them (in my experience anywhere between 5 and 30 minutes), i.e. if you dont' send or reiceve a packet in this timeframe the allocation disappears and the next time your PDA attempts to access the internet it appears to be via a different IP address/port combination.
This is a problem with server originated UDP packets since you might be sending it to an "old" IP address/port number etc. Our custom protocol resolved this because we could tune the frequency the handheld sent "ping" or "keep-alive" style UDP packets to the server (which the server recorded as the PDA's last known IP address). These packets kept the gateways happy, and since we were sending these messages for application logic reasons anyway it didn't significantly increase data charges occurred by our customers.
Hope this helps,
Christopher Fairbairn