I am currently rewriting the server side of a very old mmorpg, and I was looking for a good opensource network library to use with C/C++.
As the client already exists, I can't use any library that enforces some kind of packet structure or communication (as, for example, RakNet).
The server will use mainly UDP, on three different ports.
After searching on the internet, I found out about boost::asio and libuv.
boost::asio seems like a mature option, as I will already be using boost, but I read that their UDP implementation is a little poor, and that it can't achieve the maximum performance of a multicore processor because of some locks when using epoll.
libuv seems great, is event-driven, supported by a big project, but currently there is no project of this kind using it, so I'm in doubt about usign it.
What do you people think? Can I use libuv in a project like that, or will I have to go with boost::asio? I am open to other suggestions too (they need to be cross-platform, and I already discarded enet, libevent and libev).