不断ping IP地址

时间:2014-03-21 10:20:58

标签: visual-studio-2010 ip-address

我是一名项目工程师,我正在研究多路复用器系统,现在我正在使用visual basic 2010编写软件来控制系统,因为公司不会花钱给专业软件开发人员。主程序工作得很好,但我对那些经验丰富的人有一个快速的问题。我的系统中有10个以太网设备(上部和海底),我需要监控连接状态。

我正在进行此操作的方法是在循环中反复ping每个IP地址,如果连接/断开连接,我会从imagelist控件更改pitcurebox以显示连接状态。这是在一个新的线程中完成的,以阻止主界面无响应,一切正常,但当然更新缓慢,所以...

我向你们提问是否有更好的方法在系统上显示连接/断开的IP地址?我在网上搜索过,但我发现的一切都不是我想要的,或者我只是在搜索。

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

由于您使用的是UI应用程序,请查看Ping - 类以及async method for pinging,具体取决于您的正常ping时间以及网络流量有多大我会改变ping时间,但至少需要一次。

在表单中使用一个调用某个方法的计时器,ex async void UpdateMachineStatus(IPAdress adr)等待对pinger的调用,即var result = await Ping.SendPingAsync(adr),然后执行某些操作。这将使用非阻塞等待并且不会破坏系统资源。

利用异步的力量!