如何ping,获取ping编号,并将其放入标签中

本文关键字:ping 标签 获取 编号 如何 | 更新日期: 2023-09-27 18:27:42

所以我要做的是:

using (Ping pingSender = new Ping())
{
   replys = pingSender.Send(otherPartyIP.Address).RoundtripTime.ToString();
}

所以这是每秒运行一次,但我想知道,这真的是最优的吗。即使每秒ping一次对性能来说可能是微观的,改进也是需要努力的。

那么,这是更好的,还是一样的,或者更糟(因为我认为它一直在创建一个新的,而没有处理)

replys = new Ping().Send(otherPartyIP.Address).RoundtripTime.ToString();

不过,当我想到它时,最好在启动应用程序时创建一个Ping(),并在结束应用程序时处理它

您的两个示例完全相同。。除了在使用CCD_ 2时调用CCD_。。而第二个例子中没有。

由于Ping对象正在被重新使用。。这绝对是一个好主意,将它的范围扩大到比你现在更广的范围(我认为是某种Timer)。因此,没有真正的而不是将其移动到更大的范围(也许是类级别)。

如何ping,获取ping编号,并将其放入标签中

如果一个对象有一个Dispose-方法,那么你总是需要Dispose对象,就像你做一样

using (Ping pingSender = new Ping())
{
   replys = pingSender.Send(otherPartyIP.Address).RoundtripTime.ToString();
} 

using-语句确保所有非托管资源都得到了正确的释放。

如果您在程序的生命周期中使用该对象,您也可以将其作为类的成员,并创建类似的析构函数

~SurroundingClass(){
   if(!ping.IsDisposed){
      ping.Dispose();
   }  
}

这将确保当您周围的对象超出范围时,ping得到正确处理。