1

Winsock、C++、および Win32 を使用して、2 人用のターン ベースのゲームを作成しています。問題は、各プレイヤーの現在の接続速度 (または遅延時間) を判断する手段が必要なことです。

プレイヤーの接続速度が遅すぎる場合、対戦相手が移動ごとに 20 秒余分に待機する必要がないようにします (遅延のため)。

この不必要な待機を防ぐために、ラグが大きすぎる (または現在の接続速度が遅すぎる) プレイヤーは、ゲームの特定の領域でプレイすることを許可されません。

クライアントの接続速度や現在のラグを判断する方法を知っている人はいますか?

どこから始めればいいのかわからないので、助けていただければ幸いです。

ping に関するいくつかのことを読み、サーバーからクライアント コンピューターに ping を実行したり、クライアントからサーバーに ping を実行したりできる方法 (または何らかの winsock 関数) があるかどうか知りたいと思いました。

4

1 に答える 1

2

さて、接続の「ping」時間を簡単に見つけることができます...

1 つのプログラムがタイムスタンプを含む特別なメッセージを送信し、もう 1 つのプログラムが元のメッセージのタイムスタンプを使用して返信します。次に、最初のプログラムが応答を受信すると、送信されたメッセージのタイムスタンプと現在の時刻を比較して、「ping」時刻を取得します。

于 2012-11-24T07:03:09.937 に答える