Quote Originally Posted by tbscope View Post
Not an answer to your question I'm afraid, but I'm a little confused. Why use UDP? UDP is good for streaming media for example, where packets may drop.
Can't these devices work via TCP?
They're an embedded device - one can telnet to them and poke around, so TCP is available in that sense. However they expose a UDP-based API to manipulate their functionality and it's this I am trying to use. I cannot change it's implementation, yet if I had access to the VxWorks developer tools I could, in theory change it and put some TCP-based API in its place - for now I am using what is already there. The device is actually a radio and I can embed a certain amount of data in a UDP packet, which when sent in the right format to the right port will cause it to be sent over the air (where another radio performs the reverse operation and dumps it out its Ethernet port...)

I'm leaning towards the queue approach using multiple threads - if it can be done using a single thread, I'm happy to do that too but in order to slow the rate of sending I think a couple of threads are called for.