Most of these end up being some UDP with your own protocol of error and checks to see if the packet arrived. There are some thousand priors so I won't dive into this deeply but give a generic direction. HTTP and TCP do eat a little more so when you have a situation like yours, a custom UDP system works great. But here's the one thing. Newbies will write it as if the UDP will always get there. They get burned over that. Hence UDP and your own protocol.