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.

[参考译文] RTOS/F28M36H53C2:是否可以在网络开放式挂钩中绑定以太网套接字? (NDK-2-25-00-09)

Guru**** 2555630 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/572775/rtos-f28m36h53c2-can-you-bind-ethernet-socket-in-network-open-hook-ndk-2-25-00-09

器件型号:F28M36H53C2

工具/软件:TI-RTOS

您好!

我已修改 UDP 回显扩展程序、将套接字处理属性和套接字绑定移动到网络开放式挂钩函数。 通过这样做、我的选择呼叫(从任务完成、像示例一样创建)似乎不再返回。  在我实际绑定套接字之前,是否需要返回网络开放挂钩? 绑定返回的状态没有错误... 以下是伪代码:

int gSocketHandler;

空 NetworkOpenHook(){

gsocketHandler =套接字()

BIND (gsocketHandler)

createEthernetTask()

空 ethernetTask(){

while (1){

RET = select (gSocketHandler){

如果(RET >0)... 做一些事情...  

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

    您好、Cedric、


    遗憾的是、您无法在网络开放式挂钩中创建/绑定套接字。  该挂钩在 NDK 启动时运行得太早、网络调度程序可能尚未启动。

    您需要在单独的任务线程(即您的 etherTask()函数)内创建套接字。  理想情况下、您应该在任务线程中等待、直到堆栈绑定了 IP 地址、然后再执行任何套接字操作。

    Steve

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    明白了。 这证实了我的经验! 谢谢。