gpt4 book ai didi

c++ - C程序检测物理链路状态和丢包

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:55 28 4
gpt4 key购买 nike

我正在尝试编写一个基于事件的 c/c++ 程序,它检测网络电缆或物理链路(载波信号)中断了多少次以及链路中有多少数据包丢失。对于丢包,我希望它每秒检查一次。理想情况下,伪代码应该是这样的;

 //C program for checking how many times physical link went down  
if(event==physical_link_down)
{
link_down++;
}

//separate C program for packet loss
while(true)
{
check_packet_loss;
sleep(1);
}

如果我是正确的,我可以通过执行 ifconfig 获得以下信息,其中“RUNNING”一词意味着我们有一个事件的物理链路,并且可以从 dropped/error 字段计算数据包丢失。

顺便说一句,我正在使用 Ubuntu 操作系统。

我正在考虑通过我的 C 程序使用 ifconfig 执行 grep 以获得所需的信息。我的方法正确吗?其次,我不知道如何通过 C 程序进行 grep?有人问过类似的问题,但这些问题大多是针对 Windows 环境提出的。任何帮助将不胜感激! :)

最佳答案

您可以通过 getifaddrs 获取链接状态.这是 Linux 中的 C api,大致相当于从命令行调用 ifconfig。

关于c++ - C程序检测物理链路状态和丢包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10794605/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com