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.

[参考译文] CC3100MOD:UDP:模块在断开并重新连接后停止接收 UDP 封包

Guru**** 2771175 points

Other Parts Discussed in Thread: CC3100

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/607082/cc3100mod-udp-module-stop-receive-udp-packet-after-disconnect-and-reconnect

器件型号:CC3100MOD
主题中讨论的其他器件:CC3100

大家好、

我们的应用使用 TCP 套接字和 UDP 套接字。 现在我们正在执行重新连接测试:如果 WiFi 断开、当模块从路由器断开时、固件开始重新检测过程。

使用 TCP、新套接字可以正常工作、
对于 UDP 套接字、我们有问题。 该套接字可以无问题地发送、但在关闭并重新打开(由于强制断开)后、我们可以发送、但无法接收

请注意、我们 使用 sl_Selct 检查接收到的数据是否可用、

Giuseppe Monteleone

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

    如何设置 UDP 套接字? 我想仔细考虑一下您的情况、如果能更详细地描述您如何使用 UDP 套接字、将不胜感激。

    您是否遵循 UDP_Socket SDK 示例中规定的步骤、在这里创建套接字、将其绑定到您的 UDP 地址、然后在收到断开连接事件时关闭套接字并重复这些步骤?

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

    我们的方案如下:

    1)将 TCP 和 UDP 连接到服务器并建立通信、实际上我们不使用 UDP 服务器、只需从服务器(IP 地址/端口)接收即可。 都运行良好。
    2)我们强制断开连接(例如、我们关闭路由器)。 我们关闭所有套接字
    3) 3)当系统重新连接到路由器(我们打开路由器电源、CC3100再次看到 SSID 并连接到它)时、我们的恢复过程会重新打开所有套接字(TCP 和 UDP)。 在这种情况下、我们无法使用 sl_Recvfrom 进行接收。

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

    重新打开 UDP 套接字时、您是否在任何时候收到任何错误代码、或者返回代码是否正常?

    您是否记得使用 sl_Bind()将重新打开的 UDP 套接字绑定到您的服务器地址?

    当您使用 sl_Recvfrom ()从套接字中获取数据时会发生什么情况? 您是否遇到错误、或者在等待从服务器接收到的数据时、它是否只是永远阻止?

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

    我使用 sl_Bindd 完成了一些测试(感谢您的好主意)。 当我重新打开 UDP 套接字后,sl_Bind 返回一个错误:sl_error_PM_policy_invalid_option。
    在此主题中、e2e.ti.com/.../609111 Charles 建议设置电源管理策略。

    今天、我将使用以下配置对其进行重新测试:

    1) 1)在 reinit 中打开 ani 套接字之前、我将 PM_policy 设置为正常、
    2)开放套接字(UDP od TCP)
    3) 3)如果是 UDP 套接字、则调用 sl_Bint 以将套接字连接到本地地址客户端

    此致
    Giuseppe Monteleone