I switched over all the low-level networking in a VR app I've been working on to enet today. It's a UDP-based networking library that supports optional reliable and in order packet delivery, packet fragmentation (so very large packets can be sent over UDP), and multiple channels.
The API was super easy to use, the code is written in C, and the thing just works. Compiling it was as easy as dropping the .C files into the project and hitting Build.
I love libraries like this.
It's worth mentioning that enet was created as the networking layer for the open-source shooter Cube: http://cubeengine.com/ReplyDelete