
No.4ベストアンサー
- 回答日時:
こんにちは
>引数PING_TIMEOUTには、タイムアウトとみなすまでの任意の時間を指定する。
>結果は、STATUSでみる。STATUSの値が =IP_REQ_TIMED_OUTの場合、結果はタイム
>アウトだった。
はい。そういう理解で良いです
>Case PING_TIMEOUT:
>というところがありますよね。
これは正しくはIP_REQ_TIMED_OUTの間違いだと思いますよ
一度、このサンプルをコピーして、有得ないIPアドレスで
テストしてみてはどうでしょうか?
Public Function GetStatusCode(status As Long) As String
の中のSelect Case statusでブレイクさせて
statusの値がどうなっているか。確認。
次は正しいIPアドレスでテスト。
その次は、LANケーブル抜いてテスト。
"タイムアウト","正常終了","異常終了"
の3パターンで返ってくるstatusが限定できると思います。
では
No.5
- 回答日時:
では、
> 引数PING_TIMEOUTには、タイムアウトとみなすまでの任意の時間を指定する。
> 結果は、STATUSでみる。STATUSの値が =IP_REQ_TIMED_OUTの場合、結果はタイムアウトだっ
> た。
> という理解で良いのでしょうか?
いいと思います。
Ping成功の判定は、Status=0であり、送信文字列と受信文字列の一致した場合
とするべきかなと。
> サンプルの中で、STATUSを確認しているモジュールがありますが、その中に
> Case PING_TIMEOUT:
> というところがありますよね。
> STATUSの値が =PING_TIMEOUT の時も、タイムアウトしたと見なすと言うことなのでしょ
これは#1のサンプルがおかしいと思います。
参考URL:http://support.microsoft.com/default.aspx?scid=K …
No.3
- 回答日時:
こんにちは
ごめんなさい、私、ちょっと間違ってましたね
IP_REQ_TIMED_OUTの方はIcmpSendEchoを実行した後のステータス
の値と照合するための変数でタイムアウトしたときの(11000 + 10)
という数値が設定されています
サンプルでは実際、PINGを実行した後にどうだったか確認しています
success = Ping((Text1.Text), (Text2.Text), ECHO)
成功した場合はsuccessにIP_SUCCESSの値がはいっているはずです
タイムアウトしたときにはsuccessにIP_REQ_TIMED_OUTの値がはいる。
PING_TIMEOUTの方はIcmpSendEchoの引数で応答がない場合タイムアウト
するまでの待ち時間を指定します。サンプルサイトでは500なので
0.5秒です。
では
この回答への補足
では、
引数PING_TIMEOUTには、タイムアウトとみなすまでの任意の時間を指定する。
結果は、STATUSでみる。STATUSの値が =IP_REQ_TIMED_OUTの場合、結果はタイムアウトだった。
という理解で良いのでしょうか?
サンプルの中で、STATUSを確認しているモジュールがありますが、その中に
Case PING_TIMEOUT:
というところがありますよね。
STATUSの値が =PING_TIMEOUT の時も、タイムアウトしたと見なすと言うことなのでしょうか?
No.2
- 回答日時:
こんにちは
>IP_REQ_TIMED_OUT
>と
>PING_TIMEOUT
サンプルが英語ですが良く読みましょう!(^O^)
IcmpSendEchoの引数 Timeout に指定する値ですね
MSDNに "The time in milliseconds to wait for replies"
とあります。1000が1秒ですね
サンプルの方には
Private Const IP_REQ_TIMED_OUT As Long = (11000 + 10)
で11010ミリ秒なので11秒ちょい
Private Const PING_TIMEOUT As Long = 500
は0.5秒
という設定値というわけです。
では
この回答への補足
なんかよく読んでも分からないんですが・・・
それらの定数は、IcmpSendEchoを実行したときに引数のStatusとして返される値の一覧ではないのでしょうか?
それらの定数を引数のTimeoutのところに指定しなさいって事なんですか?で、失敗したらTimeoutに指定した値がそのまま返って来るということなんでしょうか?
本当に馬鹿ですみません。
教えてください。
お願いします。
すみません。
ひょっとして、引数のTimeoutのところには、こちら側から○msec返事が来なかったらタイムアウト!と指定できるのではないと言う事なんでしょうか?
500msecと決まっているのでしょうか?
それで返事が来た時に、その時間(Statusに入ってくる値?)とCONSTで定義した値を比較して一致したら、どういう状況だったかがわかるという流れなんでしょうか?
うーん、分からない点をうまく説明できないんですが、自分はずっと、引数のTimeoutの所には、任意の値を指定できると思っていました。
この考えが間違いだったのでしょうか?
No.1
- 回答日時:
この回答への補足
もう一つ質問なんですが、
IcmpSendEchoの最後の引数にタイムアウト値を設定しますが、この時間待っても返答が得られなかった場合は、この関数は、引数に指定したタイムアウト値と同じ結果を返すのでしょうか?
ありがとうございました。
もう一つ聞いてもよろしいでしょうか?
きっとすごく基礎的な事だろうと思うのですが、Statusに
IP_REQ_TIMED_OUT
と
PING_TIMEOUT
とありますが、どう違うのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
値を返さないコード パス
-
PL/SQLでのTO_DATEの時間取得に...
-
VB.NETでアクティブなformを知...
-
シーケンサで最小値を保持する
-
リソースの値を変数で取得
-
Excel VBAのリストボックスの値...
-
VBA(自然数)
-
[VB.net] DataGridViewのコンボ...
-
pingを行うプログラム
-
【C++/CLI.NET】コンボボックス...
-
C#の質問です
-
vb6のVSFlexGridで選択行、列の...
-
ComboBoxとListBoxとの連動
-
マクロ 特定のセル値のみクリ...
-
VB.NETのスクロールバーコント...
-
VBAでWEB上の入力項目に値をい...
-
Rnd関数って
-
ACCESS VBA 画像ファ...
-
VB6.0でINIファイルからデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
VBA ドロップダウンリストを残...
-
VB.NETでコンボボックスの1行目...
-
C#の質問です
-
Excel VBAのリストボックスの値...
-
値を返さないコード パス
-
【C++/CLI.NET】コンボボックス...
-
VB初心者。小数点以下の表示で...
-
PL/SQLでのTO_DATEの時間取得に...
-
マクロ 特定のセル値のみクリ...
-
マクロで奇数と偶数の値を2か所...
-
VB.netでRGB関数を使うには
-
VB.NETのスクロールバーコント...
-
シーケンサで最小値を保持する
-
【ASP.NET】 DataTextFieldの値...
-
C言語では0は・・・
-
変数名の取得
-
VB.NETでアクティブなformを知...
-
textboxとLabelを動的に変更する
-
ACCESS VBA 画像ファ...
おすすめ情報