依据ICMP协议实现网络工具ping,并将时间精确到微秒
ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。ping命令的工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把报文一模一样地传回给发送者,ping使用的协议是TCP/IP的互联网控制消息协议(Internet Control Message Protocol)ICMP协议。 在ping局域网网关或者本机127.0.0.1时,ICMP报文发送与接收的时间差很小,通常是微秒级,本人测试在ping 192.168.1.1平均在600微秒,ping localhost平均在60微秒。这里计算时间不是简单地采用SYSTEMTIME或GetTickCount()计算时计算差值。而是采用经过了多少个CPU时钟频率来计数,这里采用微秒计数,当然也可以更精确(现在的CPU都4GHz了,而1秒也就1百万微秒)。
下载地址
用户评论
很好,底层编程的资源现在越来越少了
非常有用,支持一个!!!!!
特别好的 资料
特别好的 资料,感谢分享
有用!!有用!!
表示不好用 最后下了 hrping
win自带ping成功的情况下,用myping经常显示没有收到回报
修正下时间格式吧,更linux一样,更好用
很容易出bug!!!!!!11
思路不错,尤其是计算方面,不过实现原理方面不是我所需要的,值得借鉴!