乐鑫技术交流
直播中

李杰

8年用户 1464经验值
私信 关注
[问答]

使用CIPDOMAIN命令时,解析长度为64个字符或更大的DNS名称失败了,为什么?

使用 CIPDOMAIN 命令时,尝试解析长度为 64 个字符或更大的 DNS 名称失败。
例:

AT+CIPDOMAIN="firmware-catalog-media-ca57.s3.dualstack.us-east-1.amazonaws.com"
DNS 失败
错误


上述 DNS 名称应解析为 CNAME 记录,以 s3.dualstack.us-east-1.amazonaws.com
将字符串减少到 63 个字符有效(-ca57 已替换为 -ca1)

AT+CIPDOMAIN="firmware-catalog-media-ca1.s3.dualstack.us-east-1.amazonaws.com"
密码域:54.231.72.106
OK


以上也是指向 s3.dualstack.us-east-1.amazonaws.com 的CNAME记录。
我转储了 libat.a 存档并找到了at_setupcipomain函数,似乎只分配要在堆栈上复制的 64 字节的字符串。

首先,有人可以确认这个限制吗?
其次,我们能否获得具有更大分配的更新固件?还是只是一个修复?
                 

回帖(1)

周煌煦

2024-7-11 16:18:19
在使用CIPDOMAIN命令时,解析长度为64个字符或更大的DNS名称失败的原因可能有以下几点:

1. **DNS解析限制**:某些系统或库可能对DNS名称的长度有限制。在这种情况下,尝试解析长度超过64个字符的DNS名称可能会导致失败。

2. **CIPDOMAIN命令的限制**:CIPDOMAIN命令本身可能对DNS名称的长度有限制。这可能是由于命令的设计或者实现方式导致的。

3. **网络设备或库的限制**:在使用CIPDOMAIN命令时,可能涉及到网络设备或库对DNS名称长度的限制。这可能是由于设备或库的设计或者实现方式导致的。

4. **DNS服务器的限制**:DNS服务器可能对请求的DNS名称长度有限制。如果请求的DNS名称长度超过服务器的限制,可能会导致解析失败。

为了解决这个问题,你可以尝试以下方法:

1. **缩短DNS名称**:将DNS名称缩短到64个字符或更少,以满足可能的限制。例如,将"firmware-catalog-media-ca57.s3.dualstack.us-east-1.amazonaws.com"更改为"firmware-catalog-media-ca1.s3.dualstack.us-east-1.amazonaws.com"。

2. **检查CIPDOMAIN命令的文档**:查看CIPDOMAIN命令的文档,了解是否有关于DNS名称长度的限制,以及如何正确使用该命令。

3. **更新或替换网络设备或库**:如果问题是由于网络设备或库的限制导致的,尝试更新或替换这些设备或库,以解决长度限制问题。

4. **联系DNS服务器提供商**:如果问题是由于DNS服务器的限制导致的,联系DNS服务器提供商,了解是否有解决方案或建议。

5. **检查代码实现**:如果你有权限访问libat.a库的源代码,检查代码实现,看看是否有对DNS名称长度的限制,如果有,尝试修改代码以支持更长的DNS名称。

通过以上方法,你应该能够解决使用CIPDOMAIN命令时解析长度为64个字符或更大的DNS名称失败的问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分