本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.
在项目中遇到一个问题,嵌入式linux设备工作一段时间后网络会出现故障,网线虽然连着,但却不能与外部主机通信。此时用串口调试内核,用ifconfig eth0 up命令可以再度启动网络。所以现在的需要在网络故障时检测出来,然后复位网络。
如何检测网络故障是一个问题,在网上搜索了半天也没有找到好的解决方法。突然想到可以自己实现linux中的ping命令,然后定时ping网关,依据是否能ping通网关就可以判断出网络是否故障。
在网上找到一个自定义ping的代码,感谢原作者rizi00.原文链接http://www.cublog.cn/u1/48325/showart_719319.html
然后把这个程序嵌入我的程序中,实现了功能。下面是ping函数部分的代码: