项目需要连接某台具体服务端,如果连不上则实时提示,开始使用Timer实时检测

 void timer_Tick(object sender, EventArgs e)
{
Ping pingSender = new Ping();
PingReply reply = pingSender.Send("192.168.1.104", );
if (reply.Status != IPStatus.Success)
{
Message.show("网络异常")
}
}

如果我Timer一直执行的话,会导致该程序的内存一直增长,后来测试发现不是Timer的问题,Timer一直运行不会影响内存,是在Timer中使用Ping导致问题,Ping后估计会有返回值,没有清除

后修改,把Ping pingSender = new Ping() 拿出来,添加一个PingCompleted事件,释放解决问题

 void pingSender_PingCompleted(object sender, PingCompletedEventArgs e)
{
(sender as IDisposable).Dispose();
}

后续问题:

如果再一直ping的过程中,出现某次ping的时候timeout,就会出现错误,做修改,当ping的不成功数大于具体次数时才提出错误。

第二个问题,当有成千上万台电脑都在ping 某个IP时,会不会造成那个IP的电脑宽带阻塞

大牛们,请指导

最新文章

  1. 当年只会C# 所以写C++就成这样了! log4cplus -> log4net
  2. 源码编译安装mysql
  3. 6.Git内容修改之后的查看和提交
  4. Shell 编程基础之 Break, Continue 练习
  5. 深入理解CSS3 Animation 帧动画 ( steps )
  6. SQLite入门与分析(四)---Page Cache之事务处理(1)
  7. BZOJ 1529: [POI2005]ska Piggy banks( 并查集 )
  8. linux安装安卓开发工具android studio
  9. 如何查看appache的端口是否被占用
  10. DAX/PowerBI系列 - 玩转阿里云 Alicloud Pricing
  11. Coding语言强弱类型且动静态类型简单解析。附图解
  12. Hive记录-impala常用命令
  13. ECS之旅——常用的linux指令
  14. Adobe Photoshop CS6简单的破解
  15. spring框架入门之一
  16. php -- 文件读写
  17. 关于埃博拉病毒的基本知识(ABC)
  18. C#语言数据类型
  19. STL 算法罗列 (转)
  20. (转)使用vs调试的时候,如何知道程序阻塞在哪里?

热门文章

  1. Incapsula免费日本CDN加速和CDNZZ香港CDN节点加速
  2. TTL和RS232之间的详细对比
  3. CentOS6.X安装10G需要额外安装的软件包
  4. springMVC视图解析器——InternalResourceViewResolver(转)
  5. 【例题 7-2 UVA - 11059】Maximum Product
  6. 洛谷——U10223 Cx大帝远征埃及
  7. linux开发板的启动
  8. C#中lock
  9. ftp 下载时防止从缓存中获取文件
  10. JSP中多条件判断