7

私は現在、非常に古い mmorpg のサーバー側を書き直しており、C/C++ で使用する優れたオープンソース ネットワーク ライブラリを探していました。

クライアントが既に存在するため、ある種のパケット構造または通信 (RakNet など) を強制するライブラリは使用できません。

サーバーは、主に 3 つの異なるポートで UDP を使用します。

インターネットで検索したところ、boost::asio と libuv について知りました。

boost::asio は成熟したオプションのようです。私はすでにブーストを使用していますが、UDP の実装が少し貧弱であり、使用時にいくつかのロックが発生するため、マルチコア プロセッサの最大のパフォーマンスを達成できないことを読みました。 epoll。

libuv は素晴らしいようで、イベント駆動型で、大きなプロジェクトでサポートされていますが、現在、この種のプロジェクトでこれを使用していないため、使用するかどうかは疑問です。

皆さんはどう思いますか?そのようなプロジェクトで libuv を使用できますか? それとも、boost::asio を使用する必要がありますか? 私は他の提案も受け付けています (それらはクロスプラットフォームである必要があり、enet、libevent、libev は既に破棄しています)。

4

2 に答える 2

1

libevent は優れており、破棄したことに驚きました。ZeroMQ はかなり優れていますが、Windows のサポートはわずかに制限されています。RabbitMQ は、SF で私の悪魔のそばにいます。

Boost.asioもとても良いです。あなたは c++ に限定されているように見えるので、私が使用しているのは libevent であり、ネットワーク遅延とレスポンシブ ネットワーキングの点で、私が取り組んできた他の MMO タイトルよりもはるかに優れているはずですが、tcp が必要です。

于 2013-04-29T07:32:18.907 に答える