3

私はこの分野ではまったくの初心者であり、ネットワーク プログラミングの間違った道を進んでいくことを少し恐れています。ゲーム エンジン用の強力なネットワーク ライブラリを構築しようとしています。

オンラインで調べたところ、boost を備えたネットワーク ライブラリがあることがわかりました。コードベースとさらに統合することに本当に熱心なので、それを使用したいと思います。しかし、どうすればそのようなことをコーディングしてデバッグできるのでしょうか? 1 台の PC でのみ開発したい場合、専用/ピア サーバーとそれに接続されている x 人のプレーヤーでネットワーク環境をエミュレートするにはどうすればよいですか?

4

4 に答える 4

2

1 台の PC で多くのプロセスを簡単に開始できます。ローカルでネットワークを使用できます (127.0.0.1)。または、仮想マシンを使用できます。

于 2010-01-08T12:27:56.567 に答える
2

マシンでサーバーを実行し、プレーヤー コードの x 個のコピーを実行する必要があります。

その後、サーバーまたはプレーヤーの 1 つをデバッグできます。

これは、ネットワークの遅延やドロップされたパケットなどをシミュレートするものではありません。相互作用をテストし、システムが負荷の下でどのように動作するかをある程度テストすることができます。

ネットワークラグなどをシミュレートするツールがありますが、通常は費用がかかりますが (このツールのように)、無料の代替手段がいくつかあります。

于 2010-01-08T12:28:28.550 に答える
1

実際の状況に最も近いアプローチは、実際のマシンで実行されるサーバーに接続する仮想マシンをセットアップすることだと思います。

于 2010-01-08T12:29:12.683 に答える
0

ゲームが正常に接続されていることを確認する必要がある場合は、複数の仮想マシンをインストールし、それらをすべて NAT モードにして、それぞれが DHCP サーバーから一意の IP を受け取るようにします。ルーターを実際に制御できる場合は、仮想マシンの MAC アドレスごとに専用の IP を設定する追加の手順を実行して、どの IP アドレスが問題を引き起こしているかをログに記録し、それをどのマシンに関連付けるかを確認することもできます。少しの努力 (および多少のハッキントッシュ) を行うことで、このセットアップを拡張して OS ベースのテストを実行することもできます。

于 2010-01-08T12:36:08.630 に答える