当我正常连接到 Windows IoT 板时,访问“minwinpc.local:8080”以访问 IoT 设备门户在同一网络中工作正常。但是,当通过内置 SoftAP(使用 WiFiDirectAdvertisementPublisher
)执行相同操作时,无法解析主机名。如果直接通过 IP 访问(SoftAP 上默认为 192.168.137.1),设备门户仍然可以访问。
使用自定义服务也可以观察到此行为 - 即主机名解析仅适用于外部网络,但如果 IoT 板本身托管 SoftAP,则不会。
为了在 SoftAP 接口(interface)上启用名称解析,我是否需要应用任何配置或使用 PowerShell 配置任何设置?
更新
进一步测试:
初始 AJ_SoftAPSsid
- Windows 客户端:minwinpc:8080 工作正常,minwinpc.local:8080 不起作用
- VMware 中的 macOS 客户端和 Windows:minwinpc:8080 不起作用,minwinpc.local:8080 工作正常
以 DragonBoard 作为客户端的 iPhone 热点
- Windows 客户端:minwinpc:8080 工作正常,minwinpc.local:8080 工作正常
- VMware 中的 macOS 客户端和 Windows:minwinpc:8080 不起作用,minwinpc.local:8080 工作正常
由 DragonBoard 托管的自定义 SoftAP
- Windows 客户端:minwinpc:8080 工作正常,minwinpc.local:8080 工作正常
- VMware 中的 macOS 客户端和 Windows:minwinpc:8080 不起作用,minwinpc.local:8080 不起作用,只能通过 IP 直接访问 (192.168.137.1:8080)。
相关问题:
最佳答案
Windows 客户端会自动尝试将 minwinpc:8080 丰富为 minwinpc.local:8080。当它是虚拟客户端时,它依赖于主机 OSX 名称解析,而主机 OSX 名称解析不会在查找时自动进行主机名丰富。
我看到以下内容: https://msdn.microsoft.com/en-us/library/windows/desktop/dd815243(v=vs.85).aspx
...此外,SoftAP不提供DNS解析。在使用 Internet 连接共享无法提供外部 DNS 服务器的情况下(请参阅下面对 ICS 的讨论),与 SoftAP 连接的任何两台计算机或设备(包括托管 SoftAP 的计算机)之间的完全限定域名 (FQDN) 解析,仅当两个实体都将 SoftAP 网络的网络类型标记为 PRIVATE(网络类别弹出窗口中的 HOME 或 WORK)时才有效。由于托管 SoftAP 的计算机始终将 SoftAP 网络类型标记为 PRIVATE,因此只有连接到 SoftAP 的计算机或设备才需要将 SoftAP 网络类型标记为 PRIVATE 才能使 FQDN 解析正常工作...
听起来您所经历的是 SoftAP 的预期行为。如果您希望看到此操作,请刷新客户端上的 dns 缓存,然后对请求进行wireshark,在 Windows 上,尝试连接到 minwinpc:8080 时,您应该至少看到两个 DNS 请求。
关于dns - 解决 SoftAP 上的 minwinpc.local,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45616546/