使用ifaddrs API,我能够检测到不同的接口,如eth0(对于ethernet)/ wlan0(对于无线)/ ppp0(对于蜂窝)。
我已经阅读了针对android的讨论:Detect network connection type on Android
是否与C / unix编程中可用的内容类似?即我能否使用unix中的c程序区分不同的蜂窝接口?
答案 0 :(得分:0)
这种操作将是100%依赖于系统的,并且在Unix系统上对网络设备的处理是众所周知的变化和临时的(例如,有时它们在/dev
,有时不在)。似乎没有用于处理该问题的标准化跨平台库。如果您要在Linux上运行,您可以向NetworkManager
询问接口信息。
答案 1 :(得分:0)
如果您正在使用单元调制解调器,则可以通过串行端口(Tx,Rx,Grnd)发送AT命令直接查询。单元调制解调器的参考应具有检测其当前连接类型所需的命令(例如,如果其SIM900D单元调制解调器,则搜索SIM900D AT参考指南)。您需要知道单元调制解调器正在运行的级别,例如TTL电压电平,并购买正确的串行接口芯片(例如这里的USB到串行https://www.sparkfun.com/products/9019)以发送AT命令并接收输出。