在VxWorks上运行的函数混淆
我们正在尝试使用 VxWorks 的 UDP 多播。
使用命令行(->),我们使用一些参数调用初始化函数,多播成功运行。
当我尝试从代码运行此方法时,初始化函数返回 OK(无错误),但不初始化多播 UDP 端口。
有什么问题吗?
We're trying to use VxWorks' UDP multicast.
Using the command line (->), we call the initialization function with some parameters and the multicast runs successfully.
When I try to run this method from code, the initialization function returns OK (no errors), but does not initialize the multicast UDP port.
Is there a catch ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
需要注意的一件事是 TCP/IP 堆栈在 rootTask 完成后进行初始化。
usrAppInit 函数在根任务的上下文中运行。如果您在 usrAppInit 中调用网络堆栈元素,则可能无法正常工作。
确保从优先级低于网络堆栈(以优先级 50 运行)生成的任务中调用网络代码。
One thing to be aware of is that the TCP/IP stack gets initialized after the rootTask completes.
The usrAppInit function runs in the context of the root task. If you are invoking network stack elements in usrAppInit, things might not work.
Make sure you invoke your networking code from a task that has been spawned with a lower priority than the network stack (which runs at priority 50).