首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

请教,怎样用C获得ping的返回值

2012-02-16 
请问,怎样用C获得ping的返回值?我在程序中用ping确定网络是否正常,找了一些ping的源码,都是很长而没一个能

请问,怎样用C获得ping的返回值?
我在程序中用ping确定网络是否正常,找了一些ping的源码,都是很长而没一个能编译通过的,所以现在直接调用ping命令

我在程序中system( "ping   www.csdn   -c   1   > ping.txt ");
好像没有东西写入ping.txt?
我在shell中直接ping   www.csdn.net   > ping.txt
也没有东西写进去?

这是怎么回事?

另:确定网络是否正常,最好是用什么方法呢?改写ping源码吗?




[解决办法]
ping就是发ICMP包,你可以以此确认网络是否通,也可以简单的打开socket来知道网络是否通。对于ping,有很多简单的例子,比如《UNIX网络编程(第一卷)》就有ping的例子,此书是UNIX网络编程的圣经,有电子版,很好找。

如楼上各位所说,ping的结果能写到文件,你最好确认一下。
[解决办法]
int ret = system( "ping xxx ");
if (WEXITSTATUS( ret ) == 0)
OK
else
ERROR

热点排行