我目前正在重写一个非常旧的 mmorpg 的服务器端,并且我正在寻找一个与 C/C++ 一起使用的好的开源网络库。
由于客户端已经存在,我不能使用任何强制某种数据包结构或通信的库(例如,RakNet)。
服务器将主要在三个不同的端口上使用 UDP。
在网上搜索后,我发现了 boost::asio 和 libuv。
boost::asio 似乎是一个成熟的选择,因为我已经在使用 boost,但是我读到他们的 UDP 实现有点差,并且由于使用时的一些锁,它无法实现多核处理器的最大性能民意调查。
libuv 看起来很棒,是事件驱动的,由一个大项目支持,但目前没有此类项目使用它,所以我对使用它表示怀疑。
你们怎么看?我可以在这样的项目中使用 libuv,还是必须使用 boost::asio?我也对其他建议持开放态度(它们需要跨平台,我已经放弃了 enet、libevent 和 libev)。