Heya!
Ever since I found SFML, I've always loved working with it, except for one thing: the network package. Yeah, it is easy to use, but it just isn't cut out for use in a fast-paced multiplayer game. TCP is not good for this, since it is fairly slow, and the UDP it provides is just plain UDP with no extra layer for reliability.
In the past, I've used enet (enet.bespin.org) for reliable UDP, but the problem with that is, although it is simple to use, it is written in C and can't take advantage of classes and such in C++.
I've taken the best parts of the SFML network package (mainly the sf::Packet class) and enet to create a more powerful network library that I call RoveNet (named after a game engine I'm currently working on).
The only dependency is enet.
As of right now, it is only set up to compile into a static library, though I will fix that in the future.
Features/WIP/Todo list:
- Reliable UDP (part of enet)
- Class-based layer over enet (done)
- Server/Client framework (done)
- Object management similar to RakNet's replica system (todo)
- Full Doxygen documentation
Project Wiki:
http://wiki.redxdev.com/rovenetBitbucket Mercurial repository:
https://bitbucket.org/redxdev/rovenetStable branch documentation:
http://docs.redxdev.com/rovenetDevelopment branch documentation:
http://docs.redxdev.com/rovenet-devThe server/client framework is pretty much done, and is ready to be used, though really it just provides a class-based layer over enet.
The object management framework is under development, and some of the progress can be seen on bitbucket.
RoveNet is under the same license as SFML, the zlib/png license.
For more details, see the bitbucket page.