第二十节 测定到指定目的地往返时间和跳跃数

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
 

Public Class Form21
    'BOOL GetRTTAndHopCount(_In_  IPAddr DestIpAddress, _Out_ PULONG HopCount,  _In_  ULong  MaxHops,  _Out_ PULONG RTT);


    'Private Declare Function GetRTTAndHopCount Lib "iphlpapi.dll" (ByVal DestIpAddress As Long, HopCount As Long, MaxHops As Long, RTT As Long) As Long
    'Private Declare Function inet_addr Lib "wsock32.dll" (ByVal cp As String) As Long

    Private Declare Function GetRTTAndHopCount Lib "iphlpapi.dll" (ByVal DestIpAddress As Integer, ByRef HopCount As Integer, ByVal MaxHops As Integer, ByRef RTT As Integer) As Integer
    Private Declare Function inet_addr Lib "wsock32.dll" (ByVal cp As String) As Integer

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim returnValue As Integer
        Dim DestIpAddress As Integer
        Dim HopCount As Integer
        Dim MaxHops As Integer
        Dim RTT As Integer

        DestIpAddress = inet_addr("14.215.177.39")    '这里是探测www.baidu.com
        MaxHops = 50

        returnValue = GetRTTAndHopCount(DestIpAddress, HopCount, MaxHops, RTT)

        TextBox1.Text = "目的地IP:" & IntToIP(DestIpAddress) & vbCrLf
        TextBox1.Text &= "跳跃数目:" & HopCount & vbCrLf
        TextBox1.Text &= "往返时间:" & RTT & "ms"

    End Sub

    Private Function IntToIP(ByVal intAddr As Integer) As String
        Dim bteIp() As Byte
        bteIp = BitConverter.GetBytes(intAddr)
        Dim ip As String = ""
        For i As Integer = 0 To bteIp.Length - 1
            ip &= bteIp(i).ToString & "."
        Next

        Return ip.Substring(0, ip.Length - 1)
    End Function
End Class

由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看 vb.net 教程 目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值