VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2004/02/24(Tue) 14:52
投稿者FEE
Eメール
URL
タイトルRe^3: pingの応答を返したい

IcmpSendEchoを使ってpingの応答時間を表示させたいのですが、「0」と表示してしまいます。
RoundTripTimeはLong型で宣言してあります。何が悪いのでしょうか…

Public Function Ping_Click(f_form As Object, msg_str As String)
    Dim hFile       As Long             ' handle
    Dim lRet        As Long
    Dim lIPAddress  As Long
    Dim strMessage  As String
    Dim pOptions    As ip_option_information
    Dim pReturn     As icmp_echo_reply
    Dim iVal        As Integer
    Dim lPingRet    As Long
    Dim pWsaData    As tagWSAData
'    Dim msg_str As String
    
    '送信するメッセージのセット  これは何でもよい。
    strMessage = "Echo data"
    'ソケットのオープン
    iVal = WSAStartup(&H101, pWsaData)
    
    'IPアドレスを999.999.999.999の形式から10進数への変換
    lIPAddress = inet_addr(txIPAddress)
    
    'ハンドルの確保
    hFile = IcmpCreateFile()
    
    'TTLのセット 1 to 255の範囲で設定
    pOptions.Ttl = 5
    
    'pingパケットを流す。
    lRet = IcmpSendEcho(hFile, lIPAddress, strMessage, Len(strMessage), pOptions, pReturn, Len(pReturn), PING_TIMEOUT)
    
    
    
    If lRet = 0 Then
        ' 戻り値0はエラー
'        MsgBox "Pingは失敗しました。"
'        f_form.Label4.Caption = "Pingは失敗しました。"
        f_form.Text2.Text = f_form.Text2.Text & "time=" & CStr(pReturn.RoundTripTime) & "ms  " & "タイムアウト" & vbCrLf
    Else
        'ステータスが何かあったらエラー
        If pReturn.Status <> 0 Then
'            MsgBox "Pingは失敗しました。"
'            f_form.Label4.Caption = "Pingは失敗しました。"
            f_form.Text2.Text = f_form.Text2.Text & "time=" & CStr(pReturn.RoundTripTime) & "ms  " & "pingエラー" & vbCrLf
        Else
'            MsgBox "Pingは成功しました。"
'            f_form.Label4.Caption = "Pingは成功しました。"
'            MsgBox "Pingは成功しました。"
            f_form.Text2.Text = f_form.Text2.Text & "time=" & CStr(pReturn.RoundTripTime) & "ms  " & "ping成功" & vbCrLf
        End If
    End If
                        
    'ハンドルの開放
    lRet = IcmpCloseHandle(hFile)
    'ソケットのクローズ
    iVal = WSACleanup()
    

End Function


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -