
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ランキング
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
【ExcelVBA】5万行以上のデー...
-
vbsでのwebフォームへの入力制限?
-
vba textboxへの入力について教...
-
複数のExcelファイルをマージす...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
改行文字「vbCrLf」とは
-
Vba Array関数について教えてく...
-
【ExcelVBA】値を変更しながら...
-
【マクロ】開いているブックの...
-
【VBA】値を変更しながら連続で...
-
VBAの「To」という語句について
-
算術演算子「¥」の意味について
-
以下のプログラムの実行結果は...
-
VB.net 文字列から日付型へ変更...
-
[Excel VBA]特定の条件で文字を...
-
VBA ユーザーフォーム ボタンク...
-
ワードの図形にマクロを登録で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでCOPYを繰り返すと、処理が...
-
複数のExcelファイルをマージす...
-
【ExcelVBA】5万行以上のデー...
-
vbsでのwebフォームへの入力制限?
-
vba textboxへの入力について教...
-
Vba セルの4辺について罫線が有...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
Vba Array関数について教えてく...
-
【ExcelVBA】値を変更しながら...
-
【マクロ】開いているブックの...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
エクセルのマクロについて教え...
-
エクセルの改行について
-
VBA 入力箇所指定方法
-
[VB.net] ボタン(Flat)のEnable...
-
VBAでセルの書式を変えずに文字...
-
vb.net(vs2022)のtextboxのデザ...
-
Excelのマクロについて教えてく...
-
改行文字「vbCrLf」とは
おすすめ情報