c - 确定网络接口(interface)是无线的还是有线的

标签 c linux sockets networking

我有一个程序有两个独立的部分:当网络接口(interface)是无线 LAN 时应执行其中一个部分,当它是有线 LAN 连接时应执行另一个部分。我怎么知道我的程序内部?我应该使用什么函数来获取该信息?

最佳答案

如果您的设备名称是 NETDEVICE,则可以使用检查 /sys/class/net/NETDEVICE/wireless 目录是否存在的谓词。不过,这是一种仅限 Linux 的方法,它假定安装了 /sys,这几乎总是正常情况。从脚本中使用此方法也比处理 ioctl() 更容易。

关于c - 确定网络接口(interface)是无线的还是有线的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12566911/

相关文章:

java - 基于来自异常的消息来控制程序流是个好主意吗?

python - python3.6 : socket. recv()vs socket.recv_into()性能

objective-c - 无需运行循环的 MacOSX 套接字编程

c++ - uint8_t 类型的 sscanf 占位符是什么?

c - execl 是否需要 dup2()

c - 转到下一行

c++ - 使用 GCC 构建 Linux 可执行文件

linux - 保持命名管道运行

c - 获取用户输入,然后执行 execvp

c++ - 如何查找指向 IPv6 地址的 SRV 记录