c++ - Hi-Link HLK-RM04跑openwrt,可以多线程吗?

标签 c++ c multithreading openwrt

我们有一个 Android 和 iOS 应用程序,可以与具有 Hi-Link HLK-RM04 并运行 openwrt 的硬件组件进行交互。我们希望能够响应此设备上的 UDP 广播以进行发现,同时仍然保持我们通常通过 TCP 进行通信的能力。负责开发该组件的外包团队告诉我们,多线程在此配置中是不可能的,因此我们可以响应 UDP 广播或接受 TCP 连接,但不能两者兼而有之。

我找不到任何信息说明为什么会这样。我在几个论坛上看到过在 openwrt 中使用 pthreads 的例子,所以如果有限制,它似乎必须在板上。

任何人都可以在这里阐明一下吗?是团队弄错了,还是我们需要找到另一种使用单线程解决方案进行发现的方法?

提前致谢。

编辑

这是处理器和模块的一些规范

http://wiki.openwrt.org/toh/hilink/hlk-rm04

https://dlnmh9ip6v2uc.cloudfront.net/datasheets/Wireless/WiFi/RT5350.pdf

最佳答案

OpenWRT 是 Linux — 即使线程不可用,也有许多方法可以在 Linux 上并行处理不同类型的连接。 (例如,可以 poll() TCP 和 UDP 套接字,或者甚至只运行两个进程来处理两种类型的连接。)

与硬件无关。我怀疑您的开发团队只是想推卸责任。

关于c++ - Hi-Link HLK-RM04跑openwrt,可以多线程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26185579/

相关文章:

c# - 如何卡住无法卡住的可卡住对象

c - 如果我 fork() 然后执行 execv(),谁拥有控制台?

c++ - 访问 std::string 字符的段错误

c++ - 如何在GCC编译器中启用最高警告级别(Boost被大量使用)

c++ - 代码::Blocks 和 Lapack

c - 如何通过引用将结构数组传递给函数?

java - 固定线程池的理想大小是多少?

C++栈变量和堆变量

c++ - 什么时候在 C++ 中使用 void*

c - 使用 C 中的函数从文件读取结构体数组