【问题标题】:Detect cellular network connection type (2G/EDGE/3G/HSPA/HSPDA/LTE) in unix在 unix 中检测蜂窝网络连接类型(2G/EDGE/3G/HSPA/HSPDA/LTE)
【发布时间】:2013-08-13 18:17:07
【问题描述】:

使用 ifaddrs API,我能够检测到不同的接口,例如 eth0(用于以太网)/wlan0(用于无线)/ppp0(用于蜂窝)。

我已经阅读了这个关于 android 的讨论:Detect network connection type on Android

这些东西是否类似于C/unix 编程中可用的?即我可以在 unix 中使用 c 程序区分不同的蜂窝接口吗?

【问题讨论】:

    标签: c unix networking telecommunication cellular-network


    【解决方案1】:

    这种操作将 100% 依赖于系统,众所周知,网络设备的处理在 Unix 系统上是可变的和临时的(例如,有时它们在 /dev 中,有时不在)。似乎没有用于处理该问题的标准化跨平台库。如果您要在 Linux 上运行,您可以向NetworkManager 询问接口信息。

    另见Detect network connection type in Linux

    【讨论】:

    • 是否有任何 API/库可用于从 ConnectionManager/NetworkManager 进行通信和检索信息?
    • 有一个 DBUS API 可以与之对话。我自己没玩过。
    【解决方案2】:

    如果您使用的是蜂窝调制解调器,您可以通过串行端口(Tx、Rx、Grnd)向其发送 AT 命令来直接查询它。蜂窝调制解调器的参考应该包含检测其当前连接类型所需的命令(例如,如果它的 SIM900D 蜂窝调制解调器,请在参考指南中搜索 SIM900D)。您需要知道蜂窝调制解调器正在运行的级别,例如TTL电压电平,购买合适的串口芯片(这里是USB转串口https://www.sparkfun.com/products/9019)发送AT指令给它,接收输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      • 2013-02-05
      • 2014-08-31
      • 1970-01-01
      • 2020-12-02
      相关资源
      最近更新 更多