私は現在、非常に古い mmorpg のサーバー側を書き直しており、C/C++ で使用する優れたオープンソース ネットワーク ライブラリを探していました。
クライアントが既に存在するため、ある種のパケット構造または通信 (RakNet など) を強制するライブラリは使用できません。
サーバーは、主に 3 つの異なるポートで UDP を使用します。
インターネットで検索したところ、boost::asio と libuv について知りました。
boost::asio は成熟したオプションのようです。私はすでにブーストを使用していますが、UDP の実装が少し貧弱であり、使用時にいくつかのロックが発生するため、マルチコア プロセッサの最大のパフォーマンスを達成できないことを読みました。 epoll。
libuv は素晴らしいようで、イベント駆動型で、大きなプロジェクトでサポートされていますが、現在、この種のプロジェクトでこれを使用していないため、使用するかどうかは疑問です。
皆さんはどう思いますか?そのようなプロジェクトで libuv を使用できますか? それとも、boost::asio を使用する必要がありますか? 私は他の提案も受け付けています (それらはクロスプラットフォームである必要があり、enet、libevent、libev は既に破棄しています)。