测试网络连接的自定义ping类

VBA使用PING测试网络连接 Ping是测试网络连接的一个常用命令,可以向特定的目的主机(某个IP)发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,根据返回数据包的情况,可以了解其有关状态,当然某些服务器可以设置不响应ICMP消息,那么PING这些服务器得到的结果也就无效了。 使用VBA开发一下和Internet相关的应用时,经常需要先测试网络主机是否可以触达,这时就需要使用PING命令,但是VBA中并没有提供这个命令,需要借助Wscipt来实现。 阅读详情

闲话少述,直接代码,然后给出一个示范;

Imports System
Imports System.Net
Imports System.Net.Sockets
Imports System.Net.NetworkInformation
Imports System.Threading
Imports System.IO
Imports System.Text


'创建一个ping类,flag返回ping的结果


Public Class myping
    Public ipstr As String
    Public flag As Boolean = False
    Public NoexitPing As Boolean = True
    Public ThreadPing As Thread
    Public waiteTime As Integer = 100
    Public JoinFlag As Boolean = True
    Public Sub New()
        'SyncLock GetType(myping)
        If NoexitPing = True Then
            Try
                ThreadPing = New Thread(AddressOf pingSingle)
                ThreadPing.Priority = ThreadPriority.BelowNormal
            Catch ex As Exception

            End Try
        End If
        'End SyncLock
    End Sub
    Public Sub pingStart()
        'SyncLock GetType(myping)
        If NoexitPing = True Then
            ThreadPing.Start()
            If JoinFlag Then
                ThreadPing.Join()
            Else
                Dim n As Integer = 0
                Do While n < waiteTime And flag = False
                    n += 10
                    Thread.Sleep(10)
                Loop
            End If

        Else
            ThreadPing.Abort()
        End If
        'End SyncLock
    End Sub
    Public Sub pingAbort()
        NoexitPing = False
        Try
            ThreadPing.Abort()
        Catch ex As Exception

        End Try
    End Sub
    Public Sub pingSingle() '指向ipstr的ping函数
        If NoexitPing = False Then Exit Sub
        Try
            flag = My.Computer.Network.Ping(ipstr)
        Catch ex As Exception
            flag = False
        End Try
    End Sub
End Class

 

应用示范:测试192.168.0网段内所有机器

三个文本框,填上192 168 0,一个按钮执行搜索,一个listbox1显示搜索内容。

创建线程t,线程内调用委托

    Private t As Thread
    Private Delegate Sub 消息()
    Private pingStr As String
    Private myp As myping
    Private num As Integer
    Private Sub 显示结果()
        Me.ListBox1.Items.Add(pingStr)
        Me.ProgressBar1.Value = num
    End Sub
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Me.ListBox1.Items.Clear()
        Me.ProgressBar1.Visible = True
        Me.ProgressBar1.Maximum = 255
        t = New Thread(AddressOf myping) '建立新的线程
        t.Start()  '启动线程
    End Sub

 

'///////////////////myping是主程序

 

    Private Sub myping()
        Dim a As Integer = CInt(TextBox1.Text), b As Integer = CInt(TextBox2.Text), c As Integer = TextBox3.Text
        Dim i As Integer
        For i = 1 To 255
            Try
                myp = New myping
                myp.ipstr = a.ToString & "." & b.ToString & "." & c.ToString & "." & i
                myp.JoinFlag = False '默认是TRUE,等待线程结束,时间比较长
                myp.pingStart()

                pingStr = myp.ipstr & "..." & myp.flag.ToString   '检测网络连通的方法
                num = i
                myp.pingAbort()

                Dim dh As 消息 = New 消息(AddressOf 显示结果)
                If Me.InvokeRequired = True Then Me.Invoke(dh)
                dh = Nothing


            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try
        Next
        t.Abort()

    End Sub

ping工具包,英文的软件,可以自定义添加IP 立即下载

相关推荐

java中ping命令ping工具类(循环ping)

java中ping命令ping工具类(循环ping) java ping ip ping命令 ping工具类 支持linux和windows等所有平台 Ping是Windows下的一个命令 在Unix和Linux下也有这个命令。 ping也属于一个通信协议,是TCP/IP协议的一部分 利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式:Ping空格IP地址。 该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。 ping是一个DOS命令,一般用于检测网络通或不通 ,也叫时延,其值越大,速度越慢。 PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所 希望的ICMP echo (ICMP回声应答)。

避坑指南:在银河麒麟V10 SP3上部署达梦数据库和MySQL8,如何解决常见冲突与性能调优

本文详细解析了在银河麒麟V10 SP3操作系统上部署达梦数据库和MySQL8的实战技巧,涵盖系统环境预检、资源规划、端口冲突解决及性能调优等关键问题。特别针对国产化环境特性适配、多服务协同部署和高并发场景优化提供了专业解决方案,帮助用户有效规避常见部署陷阱,提升数据库性能与稳定性。

weixin_30555515的博客 834

PaddleOCR实战:从零开始打造专属OCR模型的完整指南

本文提供了一份从零开始使用PaddleOCR打造专属OCR模型的完整实战指南。内容涵盖环境搭建、数据标注与准备、模型训练与调优,以及最终的模型转换与部署。重点介绍了如何利用PaddleOCR进行模型训练,并整合PPOCRLabel等工具高效准备数据集,帮助开发者快速构建适用于特定场景的高精度OCR识别能力。

rl6adventurer的博客 733

Centos自定义ping IP地址和网址域名shell脚本

只需要简单几步的自动配置脚本

weixin_67918142的博客 448

【软考高项】五十一、常见必会的几种进度网络图(单代号、双代号、七格图、横道图)

软考高项计算题进度网络图画图介绍

有莘不破的博客 3万+

Android蓝牙Mesh组网实战:从零搭建智能灯光控制系统(附完整代码)

本文详细介绍了基于Android平台开发蓝牙Mesh智能灯光控制系统的完整实战流程。从环境搭建、核心概念解析,到设备扫描配网、网络初始化、模型配置与消息通信,提供了完整的代码实现和调试技巧。重点讲解了如何使用开源Mesh库实现设备发现、分组控制、场景管理等核心功能,并分享了实际项目中遇到的典型问题与解决方案。

weixin_29174013的博客 656

用C语言实现Ping命令

【引言】 前几天脑子里忽然蹦出来一个想法,想试着用C语言写一个自己的Ping命令出来。开始还有些茫然无措,因为此前没有接触过网络编程方面的知识。幸运的是对Ping的实现原理还是比较清楚的,难度和挑战皆在于网络编程方面的零基础,再加上现在的课程比较多,所以只能每天抽出一部分时间来学习所需的网络编程知识。大概会持续个两三周。既然如此,索性开个博客,记录下整个学习的过程,也算是每天的总结了吧。

Fireplusplus的博客 4万+

【SpringBoot】1、创建第一个SpringBoot项目

创建SpringBoot项目可以通过两种方式,1、通过访问:https://start.spring.io/,SpringBoot的官方网站进行创建SpringBoot项目;2、通过工具(例如:Idea)创建SpringBoot项目。本次使用开发工具:Idea创建我的第一个SpringBoot项目。 首先,打开我们的Idea开发工具 选择Create New Poject(创建一个新的项目) ...

JACKAL 21万+

计算机网络——ping命令过程的详解、原理

ping命令是测试网络是否畅通的工具。用于测试网络连接的程序。ping发送一个ICMP;回声请求消息给目的地并报告是否收到所有希望的icmpecho(ICMP回声应答)。

m0_52165864的博客 3万+

【OAG vs RAG】RAG的“语义崩溃“:为什么你的知识库越大,AI越笨?_语义检索oag-优快云博客

19.9 元(AI 编程 / Agent 实战 | 本文同主题系统课程)·49.9 元(AI 时代成长方法论)。单篇不过瘾?订阅解锁全量源码、实战与答疑;文末附资料包领取方式 ↓图1:RAG语义崩溃概念图。

求知若渴、虚心若愚 73

《AgentScope-Java 深入浅出教程》第8章 工具高级特性

掌握工具组、预设参数、执行上下文等高级特性。

步子哥的博客 266

SaltStack常用的模块

Saltstack常用的模块1.SaltStack模块介绍2.SaltStack常用模块2.1 SaltStack常用模块之network2.1.1 network.active_tcp2.1.2 network.calc_net2.1.3 network.connect2.1.4 network.default_route2.1.5 network.get_fqdn2.1.6 network.get_hostname2.1.7 network.get_route2.1.8 network.hw_addr2

itxiaoyu_lang的博客 2341

5.3-集群电源模式解析

DSU-120 DynamIQ™集群支持9种电源模式,包括正常运行(ON)、完全断电(OFF)、三种数据保持模式(FUNC_RET、FULL_RET、MEM_RET)、两种调试模拟模式(OFF_EMU、MEM_RET_EMU),以及系统恢复模式(WARM_RST、DBG_RECOV)。这些模式通过智能管理电源状态,在保持数据完整性的同时实现功耗优化,并为系统调试和故障恢复提供支持。不同模式在RAM保持、逻辑断电和调试能力方面各有侧重,满足从正常运行到深度调试等不同场景需求。

baron-周贺贺-代码改变世界ctw 117

Unity3d如何检测当前网络环境wifi/3G/4G,以及对服务器的Ping操作

游戏画质控制的时候要对当前网络进行测试,如果无线网络则使用高画质,否则使用基础画质。这里用到两个Unity的API:一个是Application.internetReachability,用来获取当前网络类型。但是这里只是判断出来当前设备的网络环境,并不代表能连接到互联网上,是否能连接到互联网上需要通过下面的ping去操作!  使用方法如下:  if (NetWorkTxt != null

老少年的博客 7035

华为OD机试真题2025双机位C卷 C++ 实现【卡牌游戏】

小明正在尝试一种新的牌游戏。游戏规则只如下:首先,小明拿到一张写有数字m的牌。 然后,他会拿到另外n张牌,上面分别写有不同的数字,牌排成一排。小明的目标是从这排牌中找到一串连续的牌,这些牌上数字的总和可以被 m整除。你的任务是判断小明是否可以完成这个目标。

MISAYAONE的博客 281

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

测试局域网内网络数据

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Sy...

weixin_30517001的博客 181

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

如何在 Linux 系统中使用 `ping` 命令测试网络连接?

在这篇博客中,我们介绍了如何在 Linux 系统中使用ping命令测试网络连接。我们探讨了ping命令的语法、选项以及如何解读输出结果。ping命令是一种非常有用的网络工具,它可以帮助我们快速测试网络的可达性和延迟。希望这篇博客对你有所帮助!

沉淀所学,分享所思,让热爱与成长同行。商务记录AI实战经验,助力开发者快速成长。 热爱AI,希望做出有影响力的技术成果。 技术点亮生活,分享连接价值与机会。 专注AI落地实战,陪你走好技术每一步。 2万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

使用 ping 命令测试网络是否正常,例如 ping 8.8.8.8,确保网络连接没有问题‌

使用 nslookup 或 dig 命令测试 DNS 服务器的响应情况,例如 nslookup www.baidu.com,确认 DNS 服务器是否正常工作‌。如果本地 DNS 服务器不稳定,可以更换为公共 DNS 服务器,如 Google DNS(8.8.8.8)或 Cloudflare DNS(1.1.1.1)‌。使用 ping 命令测试网络是否正常,例如 ping 8.8.8.8,确保网络连接没有问题‌。确保在主 DNS 服务器故障时,系统可以切换到备用服务器‌。使用备用DNS服务器‌。

[Blog][Domain] programb.blog.youkuaiyun.com 5665

Linux 命令—— ping、telnet、curl、wget(网络连接相关命令)

它通过向目标主机发送 ICMP(Internet Control Message Protocol)回显请求,并等待回复,以确定目标主机是否可达以及网络延迟的情况。curl 是一个用于与服务器进行数据传输的命令行工具,支持多种协议,包括 HTTP、HTTPS、FTP、SFTP 等。粘贴:Ctrl + Shift + V (在大多数终端中) 或使用 Shift + Insert。复制:Ctrl + Shift + C (在大多数终端中) 或使用 Ctrl + Insert。wget [选项] [URL]

longool的博客 2361

通过ping测试网络连接

旨在记录工作学习中遇到的点点滴滴。。 在C#中,通过Ping测试网络连接,如果连接成功,返回true,否则,返回false。如果有一种状态:断电==断网,使用如下方法也未尝不可。         public bool testnetwork(string serverip)         {             Ping pingSender = new Ping();        

Finley_1945的博客 473

centos ping不通局域网_怎样用ping查看网络连接?

怎样用ping查看网络连接?一般ping什么,怎么知道ping通了?网络公司的人每次来都ping,不知道他ping的是什么?还有就是ping完了以后显示的数据都是些什么意思,ping -t是不停ping的意思,为什么要一直ping?网络连接不上的时候一般没有自己的IP,怎么ping.为什么ping自己的IP?使用Ping命令来测试网络连通的方法:Ping 127.0.0.1,127.0....

weixin_39882623的博客 1423

Linux ping 命令详解:用于测试网络连接的常用工具

ping命令是一个简单但功能强大的工具,广泛应用于网络故障排查和性能分析。通过发送 ICMP 请求并测量响应时间,用户可以判断网络连接的质量,并进一步诊断网络中的问题。尽管ping命令常用于基础的网络测试,但它在网络管理和维护中的作用不可小觑。

yangchuang111213的博客 2840

怎么一直ping某个ip_怎样用ping查看网络连接?

怎样用ping查看网络连接?一般ping什么,怎么知道ping通了?网络公司的人每次来都ping,不知道他ping的是什么?还有就是ping完了以后显示的数据都是些什么意思,ping -t是不停ping的意思,为什么要一直ping?网络连接不上的时候一般没有自己的IP,怎么ping.为什么ping自己的IP?使用Ping命令来测试网络连通的方法:Ping 127.0.0.1,127.0....

weixin_33236524的博客 1万+

ping测试

我们首先需要明确ping测试的目的。通常,ping测试用于检查网络连通性,测试主机是否能够与另一台主机通信。在嵌入式设备上,我们可能需要测试设备与网络中的其他设备(如路由器、服务器等)的连通性。步骤: 1. 确保网络连接:检查设备是否已经连接到网络(有线或无线)。2. 使用ping命令:ping目标主机的IP地址或域名。例如,ping一个公共DNS服务器(如8.8.8.8)或局域网内的网关。注意:在嵌入式设备上,可能由于系统精简,ping命令可能不可用,或者需要安装。

m0_72165397的博客 1682

使用C#调用Ping命令获取网络连接情况

使用C#调用外部Ping命令获取网络连接情况。

2万+

ping工作原理

PING 工作原理  一、什么是 PING 是 DOS 命令,一般用于检测网络通与不通 ,也叫时延,其值越大,速度越慢 PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序。Ping 发 送一个 ICMP 回声请求消息给目的

小菜鸟的天地 7万+
上一篇: VB.net 操作Word的相关问题
下一篇: 调用webservices方法获取天气预报
archlen
博客等级 码龄17年 4粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值