1

ネットワーク測定ツールを開発しようとしています。目的は、クライアントとサーバーマシン間の(クライアント側からの)応答時間を測定できるツールを作成することです。これはサイドアプリケーションです-メインアプリケーションへのアプリケーション-サーバーからの応答時間が特定のしきい値を超えていることをメインアプリケーションが経験した場合、ツールは起動され、ネットワーク接続テストを実行して、クライアントサーバー接続が安定していることを確認します(ネットワークが無線であるなどの理由で不安定になる可能性があります)

実行する必要のあるテストは、ping操作だけでなく、さまざまなサイズのパッケージを送信することでもあります。

しかし、私は通信技術の経験がほとんどありません。

ICMPプロトコルは進むべき道ですか?はいの場合、異なるサイズのパッケージを送信することは可能ですか(ネットワークが妥当な時間で2 MBのデータを転送できるかどうかを測定するため)?

私は2番目の懸念があります。ファイアウォールに関して何に注意する必要がありますか?ローカルネットワーク上で正常に動作するアプリケーションを開発するのは恥ずべきことですが、実際に使用されるとすぐに、テストがファイアウォールによってブロックされているため、失敗します。

私の質問があまりお粗末ではないことを願っていますが、どんな助けでも大いに感謝されていることを知っています。

ではごきげんよう

/サギ

4

1 に答える 1

0

ファイアウォールを回避するには、使用するのと同じプロトコルとポートを使用してテストを実行し、サーバーによって読み取られるとすぐに応答される新しいタイプのメッセージをアプリケーション内に作成する必要があります。pingをプログラムする必要があります。対策。

次に、クライアントは移動に費やした時間を測定し、pingを計算して、サーバーに中継します。これにより、ICMPプロトコルパケットをQoSサーバー上の他のパッケージよりも大幅に有利にし、人為的に待ち時間を短縮する(偽造する)一部のISPの場合にも読みやすくなります。また、ファイアウォールがICMPパケットを許可しないことを心配する必要はありません。これは、使用する標準ポートでの接続を許可する必要があるためです。

また、ほとんどのゲームはこのように機能し(Half-Life、Age Of Empiresなど)、標準のPingパケットを送信することはありません。

于 2009-12-09T16:18:25.523 に答える