This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3100:在没有 RTOS 的应用程序中进行超时管理

Guru**** 2562840 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/652602/cc3100-timeout-management-in-applications-without-rtos

器件型号:CC3100

大家好、

我知道有一种方法可以使用 sl_SetSockOpt (...)在套接字上设置最大超时以等待任何操作 但在某些情况下、我无法明确创建套接字。 例如、查看 NTP 示例:在这种情况下、如果 NTP 服务器没有应答、代码将永远等待(我修改了它以设置最长等待时间)。

对我来说、另一个不是完全清楚的点是如何管理(内部)信号量的超时、因为调试我的代码时、有时超时被设置为0xFF、这意味着永远等待。
当我无法明确创建套接字时、是否有任何方法可以在所有这些情况下施加超时? 对于那些与套接字无关的操作、是否还有任何方法可以施加超时?

KR、

Massimo

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Massimo、

    我认为您所指的是在非阻塞模式下操作套接字。

    在非阻塞模式下运行时、SL 套接字命令将立即返回。 请参阅现有主题:

    e2e.ti.com/.../408522

    另请参阅 Simplelink 用户指南的第6.5.1节。

    此致、
    VR
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vincent:

    不幸的是,这是我已经做的事情。 我怀疑直接由 SimpleLink 库管理的 mDNS 和其他高级协议会向用户隐藏套接字、并且不会创建套接字来强加超时。 因此、在修改 TI 源代码并最终要求在 TI 库中引入所需的修改之前、我正在搜索是否缺少正确的方式(当然、如果有方法)来设置尽可能明确地为套接字设置超时。

    我已尝试使用分块(超时)和非分块套接字。 对于我正在处理的应用程序、分块+超时是最好的解决方案、但我也检查了非分块套接字、如果我自己不创建套接字、我仍然会看到同样的问题。