1.動作概要
指定されたTargetに対して、指定された長さのPingを、指定されたスピードで、
指定された回数送信します。
並行して、帰ってきた返事の個数をカウントします。
最後に、ロスが無かったか、どのぐらいのスピードで返事が返ってきたかを計算し、
それなりの診断結果を表示します。
2.スピード表示について
最初のパケットを受信した時刻から、最後のパケットを受信した時刻までの間に、
何バイト受信したかを計算してスピードを表示しています。
ただし、時刻と言うのが、正確に言うと、受信した時刻ではなくて、受信したパケットを
処理した時刻(受信バッファから取り出した時刻)なので、CPUの速度が追いつかない場合は
正しい値でないことがあります。ご了承ください。
3.名前について
当初はpingを10発投げるプログラムにする予定だったので、ping10としました。
しかし、
100BASE-TXのFull/Half不一致を検出するためには10発では足りないようなので、
30発をデフォルトにしました。
なので、言い訳なのですが、デフォルトのスピードが10Mbpsだから、ping10ということに
しておきます。
4.使い方
Usage: ping10 [-l Len][-n Count][-s Speed] Target
Options:
-l Len Packet Length on Ethernet Layer
-n Count Number of packets
-s Speed Speed in kbps on IP Layer
5.実行中の表示について
1パケット送信するたびに's'、1パケット受信するたびに'R'と表示します。
| ping10.cpp | ソースファイル(EUC) |
| ping10-sjis.cpp | ソースファイル(SJIS) |
| ping10.exe | 実行形式 for Windows |