我们有一个 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/