请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC3120 我的应用大部分处于低功耗模式、但需要对多个事件做出反应、其中一个事件是传入的 UDP 流量。 我有几个关于触发模式的问题、这似乎是我的案例的解决方案:
因此在进入低功耗睡眠之前,我正在按照用户指南中所述以零超时调用 sl_Select(),如果 sl_Select()返回正数,我继续进入 sl_Recvfrom (),否则我进入睡眠状态,直到调用 slcb_SocketTriggerEventHandler,然后接收等等。 这似乎是正确的方法吗?
2.根据我对其它堆栈的经验,当没有套接字准备就绪时,SELEC()通常返回0,但 sl_Select()返回 SL_ERROR_BSD_EAGAAIN。 是通过消除行为来实现的吗? 如果没有可用数据、它是否会始终返回 SL_ERROR_BSD_EAGAIN?
使用 SlSockTriggerEvent_t 调用 slcb_SocketTriggerEventHandler、在我的案例中、SlSockTriggerEvent_t:::Event 设置为1、SlSockTriggerEvent_t::EventData 设置为0。 含义是什么? 我能否使用这些值来确定哪些套接字已"就绪"?