高支持、
我将为我的应用使用以下模块。
亚马逊 FreeRTOS -> 202107
FreeRTOS 内核 V10.4.3
AWS 物联网无线更新 v3.0.0
SL 主机驱动程序版本2.0.1.27
服务包版本 sp_3.14.0.0_2.0.0.0_2.2.0.7.bin
我们的产品是电池供电设备。
设备获得配置文件(连接到 WAP)后、我试图与 AWS IoT 建立 MQTT 连接。 在建立/创建 MQTT 连接时、WAP 没有互联网、因此无法建立连接、因为它将无法解析主机名并返回网络错误。 在此建立连接期间、它将等待大约20秒来解析 DNS (请参阅下面的 API 调用)。 这20秒的等待是一个非常巨大的时间、并且会在电池供电的器件/系统中消耗更多能量。 由于在我的应用中、我将再次尝试建立连接、因此总延迟将为40秒、以解析 DNS 并在关闭互联网期间返回响应。
_i16 sl_NetAppDnsGetHostByName (_i8 * pHostName、const _u16 NameLen、_u32* OutIpAddr、const _u8 Family); (当互联网不可用于 WAP 时、此函数需要20秒以上的时间才能返回)
下面是我的两个问题:-
- 在互联网关闭情况下、是否有可能将 DNS 解析时间缩短20秒。 如果是的话,我们如何才能改变这种情况,延迟时间的改变会影响到 NWP 的运作。
- 在解析 DNS 之前、是否有任何方法可以检查互联网是否可用于 WAP、以便不调用解析的函数。
谢谢。此致、
S·简纳斯瓦尔