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

本文详细介绍了如何在C#和VB.NET中使用Ping类进行异步网络检测,包括SendAsync方法的使用、PingCompleted事件的处理以及PingReply类的解析。适合初学者理解网络通信原理。
摘要由CSDN通过智能技术生成

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

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教程 目录


————————————————
版权声明:本文为CSDN博主「VB.Net」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/UruseiBest/article/details/81811759

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值