2053| 1
|
[问题求助] 【Maixpy】maixpy发起GET请求,有时r.text运行时间较长(已解决) |
本帖最后由 empty 于 2021-3-28 21:46 编辑 【背景描述】 想通过巴法云物联网平台连接小爱控制maixpy 【问题描述】 while循环代码如下,功能主要为request发起GET请求,然后根据解析返回的结果来控制灯 但是循环中,有时程序会一直卡在r.text的执行上(不会卡死,过一段时间还是可以继续跑下去),想问一下该怎么解决或者优化这个问题,不然手机端 小爱同学发送消息后,K210这里不能及时接受到消息,卡在r.text好一会儿,给人一种延时的感觉。 【问题尝试解决】 1.大佬鼠说是网络问题,重新调试,我百度了下解决方法,很多说是在request中加个最大时间timeout参数,但是urequest中没有timeout这个参数 2.使用串口慢慢调试,不断发送 >>>r = urequests.request(method=method,url=url) >>>r.text 结果有时可以很流畅的运行出结果,有时会卡在r.text运行上好一会,应该是网络问题 3.使用串口先发送 >>>r = urequests.request(method=method,url=url) 然后疯狂重复发送 >>>r.text 结果发现r.text都可以很快运行好,所以卡在r.text,应该是出在r = urequests.request(method=method,url=url)还没有接受到完整的response造成的 |
问题不出在这些经过封装的库,你想知道为什么会卡就去关注 socket 这个对象,并设置超时配置,改成非阻塞socket,想要优化这个接口,建议先在电脑上学习 Python3 的 socket 非阻塞用法。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed