I am currently rewriting the server side of a very old mmorpg, and I was looking for a good open source network library for use with C / C ++.
Since the client already exists, I cannot use any library that provides any kind of package structure or connection (for example, RakNet).
The server will use mainly UDP, on three different ports.
After searching the internet, I found out about boost :: asio and libuv.
boost :: asio seems like a mature option since I will be using boost already, but I read that their UDP implementation is a bit poor and that it cannot achieve maximum multi-core processor performance due to some blocking when using epoll.
libuv seems great, event driven, supported by a large project, but there is currently no such project that uses it, so I doubt its use.
What do you think? Can I use libuv in a similar project, or do I need to switch from boost :: asio? I am also open to other suggestions (they should be cross-platform, and I have already abandoned enet, libevent and libev).
source share