vb.net 教程 7-1 本地网络信息的获取 8 异步Ping

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

Ping类还提供了SendAsync()来异步检测到远程计算机的连接情况。

SendAsync方法完成后,无论成功还是失败,都会引发PingCompleted事件。因此需要先在代码中加入该事件的处理。

注意:以下代码中用的是pingEnd,它必须和PingCompleted事件使用相同的参数。PingCompletedEventArgs提供了Reply属性,即PingReply 类。

    Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
        Dim addr As String = "www.csdn.net"
        Dim p As New Ping()
        AddHandler p.PingCompleted, AddressOf pingEnd
        p.SendAsync(addr, 1000, "ok")
        TextBox1.Text = "异步 Ping地址 " & addr & "结果" & vbCrLf
    End Sub


    Private Sub pingEnd(sender As Object, e As PingCompletedEventArgs)
        If e.Error Is Nothing Then
            If CType(e.UserState, String) = "ok" Then
                If e.Reply.Status = IPStatus.Success Then
                    TextBox1.Text &= "地址:" & e.Reply.Address.ToString & vbCrLf
                    TextBox1.Text &= "TTL:" & e.Reply.Options.Ttl & vbCrLf
                    TextBox1.Text &= "答复消息所用的毫秒数:" & e.Reply.RoundtripTime & vbCrLf
                Else
                    TextBox1.Text = "错误信息:" & e.Reply.Status.ToString
                End If
            End If
        Else
            TextBox1.Text = "发生错误:" & e.Error.Message
        End If
    End Sub

运行如下:

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

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值