0

いくつかのゲーム サーバーにクエリを実行したい。

ループ内の各サーバーを 1 つずつクエリするサーバー リフレッシャーを Java で作成しました。

C++/C または PHP に変更すると、クエリが高速になりますか、それとも Java に固執する必要がありますか??

UDP パケットは、サーバーに問い合わせるために送受信されます。

また、ループ内で1つずつ行う以外に、これを行うより高速な方法はありますか?

最悪の場合の時間 (すべてのサーバーがオフラインの場合) は、200ms X サーバーの数です。(それぞれのタイムアウトは 2 秒です)。サーバーリストが巨大な場合、これは大きくなります。

4

2 に答える 2

2

言語を切り替えても何も得られません。ネットワーク I/O が主なボトルネックであるため、クエリを同時に実行することを検討する必要があります。スレッドまたはスレッドプールを使用して、一度に複数のサーバーにクエリを実行します。

于 2012-06-03T13:43:19.080 に答える
1

これを高速化するには、いくつかの方法があります。

  1. 代わりにCを使用してください。優れた C コードの書き方を知っている場合は、C を使用すると多少速くなります。
  2. 同時に複数のサーバーにクエリを実行して、マルチスレッドを追加します。
  3. 異なる大陸の複数のサーバー(VPS など) を使用し、それらを使用して最も近いゲームサーバーにクエリを実行します。これにより、待ち時間が大幅に短縮されます。
于 2012-06-03T13:44:27.337 に答える