You might be able to write a MSMQ program on the desktop to write to a
device queue (I can't remember for sure if you can do this or not). When the
device attaches, it can read its own queue. As I said, you can write to a
desktop queue from the device, so that would be the means of communicating
in that direction. So, two queues, one on each device, read by the local
machine and sent to by the remote machine. If *all* you want is the items
you listed, you'd just have a queue on each Windows CE device and the server
would write to each queue with each order that it wanted to send out.
Connected devices would receive those orders very soon after they were sent
and unconnected ones would get them shortly after being connected.
I'd try to use MSMQ before anything else. You might run into something that
you can't get around without implementing your own queuing system and a
means to get to it, but it would be nice not to have to handle the
intermittent connectivity and queing yourself.
Paul T.