使用ifaddrs API,我能够检测到不同的接口,比如eth0(用于以太网)、/wlan0(用于无线)/ppp0(用于蜂窝)。
我读过这个关于android的讨论:Detect network connection type on Android
是否类似于C/unix编程中提供的这些东西?也就是说,我可以在unix中使用c程序来区分不同的蜂窝接口吗?
发布于 2013-08-12 12:43:52
这种操作将100%依赖于系统,而且在Unix系统上对网络设备的处理是出了名的多变和特别的(例如,有时是/dev
的,有时不是)。似乎没有一个标准化的跨平台库来处理这个问题。如果你打算在Linux上运行,你也许可以向NetworkManager
询问接口信息。
发布于 2013-08-13 14:06:14
如果您使用的是手机调制解调器,您可以通过串行端口(Tx,Rx,Grnd)发送AT命令来直接查询。蜂窝调制解调器的参考应包含检测其当前连接类型所需的命令(例如,如果其SIM900D蜂窝调制解调器,请搜索SIM900D AT参考指南)。您需要知道单元调制解调器的工作电平,例如TTL电压电平,并购买正确的串行接口芯片(例如,这里是USB转串行https://www.sparkfun.com/products/9019),以便向其发送AT命令并接收输出。
https://stackoverflow.com/questions/18186945
复制