Linux C 怎么检测网络状态

Linux C 怎么检测网络状态,第1张

那就必须要精通 Linux 的网络协议的 socket 编程了。这个肯定是可以检测网络状态的。具体的 server/client 编程模式,可以参考《TCP/IP 协议详解》一书(上、下册)。

最近做嵌入式linux有检测联网状态的需求,百度了一下其他方案,采用ping dns方案比较稳定合适,ping多个dns服务器,以及自己的后台服务器,任意一个能ping通,则说明设备已联网。

定时执行 check_networking() 方法进程,使用 net_connected() 判断是否联网。

【解决方法】

1、ifconfig查看现在使用的网卡。

2、ethtool命令查看网卡的具体信息,如eth0是连接状态,则正常使用。

2、在ifconfig中可以看到有eth2这个网卡,但不知道是否连线,这时用ethtool就可以看到link是no,那么表示是没有连线的。

Linux *** 作系统是UNIX *** 作系统的一种克隆系统,它诞生linux系统于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类 *** 作系统,并且使用人数还在迅猛增长。

Linux是一套免费使用和自由传播的类Unix *** 作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的 *** 作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 *** 作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7723747.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存