【问题标题】:Consistently connect Flutter Android app to local network始终将 Flutter Android 应用程序连接到本地网络
【发布时间】:2021-07-10 21:10:18
【问题描述】:

当我在 Android 手机上运行 Flutter 应用并打印 IP 时,有时它会显示来自我的家庭网络 (192.168.x.x) 的 IP,但有时它会显示不同的网络 (10.x.x.x)。如何让它始终使用我的家庭网络?

使用https://pub.dev/packages/wifi 包:

Future<Null> _discoverPrintersWifi() async {
  final String ip = await Wifi.ip;

  print(ip);
}

【问题讨论】:

  • 您可能选择了不同的网络接口。您可以发布用于打印 IP 的代码吗?
  • 我的代码中没有看到任何选择接口的内容。我用我的代码更新了问题。
  • 我在该插件的文档中没有看到任何允许您为所获得的 IP 选择网络接口的内容。如果您需要查看可用接口并选择一个,您可能需要另一种方法
  • 如果其中一个答案对您有帮助,请考虑投票

标签: android flutter


【解决方案1】:

您可以通过为手机分配静态 IP 来使其保持一致。

但是您应该知道 DHCP 如何分配 IP .. 这意味着您将获得一个恒定的 IP,但在某些时候您可能没有连接,因为其他人正在使用 DHCP 提供给他的相同 IP。

【讨论】:

    【解决方案2】:

    首先我会检查用户是否连接到 Wifi。

    我建议你从wifi 包切换到wifi_info_flutter

    可以通过这种方式获取当前IP:

    import 'package:wifi_info_flutter/wifi_info_flutter.dart';
    
    var wifiIP = await WifiInfo().getWifiIP();
    

    您可以在这里查看类似的问题:How to get device IP in Dart/Flutter

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-19
      • 2012-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多