【发布时间】:2020-08-15 22:08:50
【问题描述】:
我有一个 Xamarin 应用程序,它需要从 LAN 端和 WAN 端连接到设备。该设备(ESP8266)通过 WiFi 连接到内部网络,可以通过 DDNS 从 WAN 端访问。
当用户发出请求(通过 Xamarin 应用程序),同时使用移动数据(即他们未连接到 WiFi 网络)时,请求到达 IoT 设备(IoT 设备在路由器上进行 UPNP 映射) .
物联网设备使用 mDNS 在本地网络上显示自己,如果我尝试在连接到同一网络的计算机上通过 Windows 10 上的 Chrome 进行连接,则连接成功(使用“domain.local”)。在 Android 上的 Chrome 上执行相同操作会导致 DNS 错误。
如果用户现在将手机连接到与 IoT 设备相同的网络,Xamarin 应用请求将不再到达 IoT 设备。我有一些代码可以区分本地请求和发出“domain.local”请求或“domain.ddns.net”请求的远程请求。
我了解我的台式机上的 Apple Bonjour 方面以及 Android 平台上的不足。
有谁知道如何解决这个问题?
【问题讨论】:
-
1.有什么例外? 2. 你有一些代码来显示你是如何提出请求的吗?
标签: xamarin esp8266 bonjour mdns zeroconf