We have an Android and iOS app that interacts with a hardware component that has a Hi-Link HLK-RM04 and running openwrt. We want to be able to respond to UDP broadcasts on this device for discovery while still maintaining the ability to communicate the way we normally do via TCP. We are being told by the outsourced team responsible for development of this component that multi-threading isn't possible in this configuration so we can either respond to UDP broadcasts or accept TCP connections, but not both.
I can't find any information why that may be. I've seen examples of pthreads being used in openwrt on a few forums, so if there is a limitation it seems it must be on the board.
Can anyone shed some light here? Is the team mistaken or do we need to find another way of doing discovery using a single-thread solution?
Thanks in advance.
EDIT
Here are some specs on the processor and module
http://wiki.openwrt.org/toh/hilink/hlk-rm04
https://dlnmh9ip6v2uc.cloudfront.net/datasheets/Wireless/WiFi/RT5350.pdf
OpenWRT is Linux — there are numerous ways to handle different types of connections in parallel on Linux, even if threads are not available. (For instance, one could poll()
both TCP and UDP sockets, or even just run two processes to handle both types of connections.)
The hardware has nothing to do with it. I suspect your development team is just trying to shift blame.