You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter如何不依赖WiFi获取设备本地IP 适配无WiFi的Linux以太网场景

无WiFi网卡环境下设备本地IP获取方案

场景说明

开发的Linux应用运行在无WiFi网卡、仅以太网连接的环境下,需要获取设备本地IP,常规依赖WiFi组件的IP获取方案不可用。

故障现象

尝试使用package:wifi/wifi.dart和package:network_info_plus/network_info_plus.dart两款依赖包获取本地IP时,均返回如下报错:

MissingPluginException (MissingPluginException(No implementation found for method ip on channel plugins.ly.com/wifi))

实现方案

可以通过遍历系统所有网络接口、匹配内网IP段的方式获取本地IP,无需依赖WiFi网卡,代码实现如下:

// 获取本地IP
String localIp = '';
// 定义常见私有内网IP段前缀
final List<String> privateNetworkMasks = ['10', '172.16', '192.168'];
// 遍历所有网络接口
for (var interface in await NetworkInterface.list()) {
  // 遍历当前接口的所有地址
  for (var addr in interface.addresses) {
    // 匹配内网IP段
    for (final possibleMask in privateNetworkMasks) {
      if (addr.address.startsWith(possibleMask)) {
        localIp = addr.address;
        break;
      }
    }
  }
}

方案优势

该方案直接调用系统底层的网络接口查询能力,适配以太网、蜂窝网络等所有非WiFi的网络环境,无需额外依赖第三方网络工具包。

内容的提问来源于stack exchange,提问作者Samichoulo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:45:01