C中的网络状态

时间:2011-09-22 23:58:15

标签: c networking

现在我可以使用以下代码检索网络状态..

 popen("netstat -i | grep '^e[a-z][a-z]*0[ \t]' | head -n1","r")


sscanf(line,"%32s %d %*s %*s %d %d %d %d",
               name, &mtu,
               &in_packets, &in_errors,
               &out_packets, &out_errors);

我想计算每秒的数据包..我该怎么做? 感谢

2 个答案:

答案 0 :(得分:0)

如何计算数据包/秒

  1. 立即获取数据包数量。
  2. 等待 n 秒。
  3. 获取新的数据包数。
  4. 现在从第二个数字中减去第一个数字并除以 n ,你在给定的时间间隔内得到你的包/秒。

答案 1 :(得分:0)

你可以使用tcpstat例如

tcpstat -i eth0 -o '%b\n'

<强>输出

16516.80   #bps