我有一段代码可以ping服务器:
int main(){
if ( system( "ping 111.222.333.44") == 0 )
printf("success");
return 0;
}
代码打印以下内容:
PING 111.222.333.44 (111.222.333.44) 56(84) bytes of data.
64 bytes from 111.222.333.44: icmp_seq=1 ttl=63 time=0.565 ms
64 bytes from 111.222.333.44: icmp_seq=2 ttl=63 time=0.874 ms
.
.
等等。由于永远不打印success
,我假设system( "ping 111.222.333.44")
以某种方式进入无限循环。当我点击Ctrl+C
时,会打印统计信息(min/avg/max/mdev
等)并终止程序。有没有办法避免这种无限循环?
此外,发送到服务器的字节数是56还是84?还是64?我们可以手动指定此值吗?如果我在这个过程中计算速度,我会56 bytes / 0.565ms = 99.1 KB/s
吗?提前谢谢。
答案 0 :(得分:1)
简而言之,ping
可以通过多种不同方式进行配置。使用-c 4
,您可以指定发送4个ping数据包,-s XX
可以指定数据包大小。