Skip to content

[multicast_dns] IOS16 can not found any device #113263

@Liberations

Description

@Liberations
  1. ios16 before work normal .update to ios16 ,log report
    SocketException:Send failed (OS Error:No route to host errno=65),address e.0.0.0,port=53535

code below

    EasyLoading.show();
    var isShow = true;
    const String name = '_mymei._tcp.local';
    lanDevices.clear();
    final sets = HashSet<LanDevice>();
    var factory = (dynamic host, int port, {bool reuseAddress = false, bool reusePort = false, int ttl = 0}) {
      return RawDatagramSocket.bind(host, port, reuseAddress: true, reusePort: Platform.isIOS, ttl: ttl);
    };

    var client = MDnsClient(rawDatagramSocketFactory: factory);
    // Start the client with default options.
    await client.start();

    // Get the PTR record for the service.
    await for (final PtrResourceRecord ptr
        in client.lookup<PtrResourceRecord>(ResourceRecordQuery.serverPointer(name))) {
      // Use the domainName from the PTR record to get the SRV record,
      // which will have the port and local hostname.
      // Note that duplicate messages may come through, especially if any
      // other mDNS queries are running elsewhere on the machine.
      await for (final SrvResourceRecord srv
          in client.lookup<SrvResourceRecord>(ResourceRecordQuery.service(ptr.domainName))) {
        // Domain name will be something like "io.flutter.example@some-iphone.local._dartobservatory._tcp.local"
        final String bundleId = ptr.domainName; //.substring(0, ptr.domainName.indexOf('@'));
        print('Dart observatory instance found at${ptr.toString()} '
            '${srv.target}:${srv.port} for "$bundleId".');
        if (srv.port != LocalServer.dnsPort) continue;
        await for (final IPAddressResourceRecord ip
            in client.lookup<IPAddressResourceRecord>(ResourceRecordQuery.addressIPv4(srv.target))) {
          print('IP: ${ip.toString()}');
          sets.add(LanDevice(ptr.domainName.replaceAll('._mymei._tcp.local', ''), ip.address.address));
          lanDevices.clear();
          lanDevices.addAll(sets);
          update(['lanDeviceList']);
          isShow = false;
          EasyLoading.dismiss();
        }
      }
    }
    client.stop();
    if (isShow) {
      EasyLoading.dismiss();
    }
    print('mymeiDevice ${lanDevices.toString()}');
    print('Done.');
  }
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!
[✓] Flutter (Channel stable, 2.10.5, on Microsoft Windows [Version 10.0.22621.1], locale zh-CN)
    • Flutter version 2.10.5 at D:\fluttersdk\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5464c5bac7 (6 months ago), 2022-04-18 09:55:37 -0700
    • Engine revision 57d3bac3dd
    • Dart version 2.16.2
    • DevTools version 2.9.2
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at D:\Android\sdk
    • Platform android-33, build-tools 33.0.0
    • ANDROID_HOME = D:\Android\sdk
    • ANDROID_SDK_ROOT = D:\Android\sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✗] Visual Studio - develop for Windows
    ✗ Visual Studio not installed; this is necessary for Windows development.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[✓] Android Studio (version 2021.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)

[✓] Android Studio (version 4.1)
    • Android Studio at D:\soft\as4.1.3\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[✓] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22621.1]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 104.0.5112.82
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 104.0.1293.63

[!] HTTP Host Availability
    ✗ HTTP host https://maven.google.com/ is not reachable. Reason: An error occurred while checking the HTTP host:
      信号灯超时时间已到


! Doctor found issues in 2 categories.

Metadata

Metadata

Assignees

No one assigned

    Labels

    r: duplicateIssue is closed as a duplicate of an existing issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions