Broadcast like UDP with the reliability of TCP,
I’m working on a .net solution that is run completely inside a single network. When users make a change to the system, I want to launch an announcement and have everyone else hear it and act accordingly. Is there a way that we can broadcast out messages like this (like UDP will let you do) while keeping guaranteed delivery (like TCP)?
This is on a small network (30ish clients), if that would make a difference.
Almost all games have a need for the fast-reacting properties (and to a lesser extent, the connectionless properties) of UDP and the reliability of TCP. What they do is they build their own reliable protocol on top of UDP. This gives them the ability to just burst packets to whereever and optionally make them reliable, as well.
The reliable packet system is usually a simple retry-until-acknowledged system simpler than TCP but there are protocols which go way beyond what TCP can offer.
Your situation sounds very simple. You’ll probably be able to make the cleanest solution yourself – just make every client send back an “I heard you” response and have the server keep trying until it gets it (or gives up).
If you want something more, most custom protocol libraries are in C++, so I am not sure how much use they’ll be to you. However, my knowledge here is a few years old – perhaps some protocols have been ported over by now. Hmm… RakNet and enet are two C/C++ libraries that come to mind.
That’s the answer Broadcast like UDP with the reliability of TCP, Hope this helps those looking for an answer. Then we suggest to do a search for the next question and find the answer only on our site.
The answers provided above are only to be used to guide the learning process. The questions above are open-ended questions, meaning that many answers are not fixed as above. I hope this article can be useful, Thank you