接続されたクライアント(サーバ - >クライアント)の待ち時間を計算しようとしています。接続されている)ここで私はそれを(クライアントが切断されていない場合、データを送信しようとしている)pingしています。接続速度(ms)(待ち時間)を計算する
while (information.connectionEst)
{
try
{
byte[] data = Encoding.ASCII.GetBytes("");
stream.Write(data, 0, data.Length);
}
catch (Exception e)
{
killConnection();
thread.Abort();
}
}
データパケットの送信にかかった時間を計算する必要があると仮定します。しかし、私はそれを行う方法がわかりません。どんな援助も訴えられるでしょう。
(クライアントとサーバーの両方を実装していると仮定して)サーバーが現在の時刻をクライアントに送信し、クライアントがそれを送り返してから差異を見つけて2で割ります対称接続)。 – Adam
これはlocalhost、または同じタイムゾーンでしか動作しませんでしたが?これは複数の接続を持っています。 –
クライアントの時間はそれに来ていません。サーバで9:30:00、クライアントで5:30と言ってください。サーバはクライアントに "9:30:00"のパケットを送り、クライアントはそれを返し、サーバはパケットを受信します。これはサーバー上で9:30:01になりました。サーバーは1秒の往復、または各方法で0.5秒かかったと推測できます...送信した各パケットのサーバー状態に時間を格納することで同じ結果を得ることができますが、しかし、この方法は簡単です(そしてより汚れています)。 – Adam