在爱芯远智ax520ce上面,我用tuya_ipc_get_low_power_server_v2获取服务器地址及端口,要花30-40秒才会返回,经咨询是getaddrinfo导致的,我自己写了一个调用getaddrinfo,这个很快就返回了,所以麻烦帮我查一下是什么原因获取这个休眠参数这么慢
sdk6,ax520ce休眠获取参数慢
Re: sdk6,ax520ce休眠获取参数慢
看了你写的demo,跟sdk比有两点差异
- sdk在getaddrinfo之前,调用了res_init()
- getaddrinfo的入参hints,sdk对其成员ai_flags 赋值为AI_PASSIVE。
你把这两处差异加上,看看效果
Re: sdk6,ax520ce休眠获取参数慢
里面有例子及调用次序及执行时间,麻烦看一下
- Attachments
-
- tuya-获取休眠参数较慢.txt
- (9.84 KiB) Downloaded 15 times
Re: sdk6,ax520ce休眠获取参数慢
后面的例子按照你那样指导的,调用了res_init及增加标志位,麻烦帮我看一下
Re: sdk6,ax520ce休眠获取参数慢
请问你们的硬件方案是主控+wifi,保活代码跑在wifi吗?
Re: sdk6,ax520ce休眠获取参数慢
是的,保活跑在WIFI上面,但是这个时候根本还没有下发到WIFI,处于获取保活参数获取这个动作
Re: sdk6,ax520ce休眠获取参数慢
这个getaddr,我在你们函数之前及之后调用都可以1秒之内出结果,但是调你们函数,则会卡住30-40秒,这个怎么优化?
Re: sdk6,ax520ce休眠获取参数慢
我把tuya_ipc_get_low_power_server_v2的主要实现发你,你把接口替换下,自己可以加打印调试
- Attachments
-
- tuya_ipc_get_low_power_server_v3.c
- (2.24 KiB) Downloaded 20 times
Re: sdk6,ax520ce休眠获取参数慢
我参考你的代码执行,执行很快就能得出来结果来。但是有一个问题,就是获取域名获取不到,我强行给了一个域名
- Attachments
-
- tuya-参考代码及执行效果.txt
- (10.2 KiB) Downloaded 17 times
Re: sdk6,ax520ce休眠获取参数慢
大概知道范围了,我又加了些打印,你再用tuya_ipc_get_low_power_server_v2跑下,然后把日志发出来
- Attachments
-
- lib.tar.gz
- (1.72 MiB) Downloaded 12 times