Моя проблема: У меня есть беспроводная сеть 802.15.4, подключенная к последовательному порту (с помощью оболочки). Я могу отправлять пакеты в сеть и прослушивать входящие пакеты. Как вы понимаете, это очень асинхронно.
А вот задача: я хочу отправить команды в сеть и дождаться ответа в одном вызове функции. Например: я хочу получить температуру от узла с сетевым идентификатором 1338.
double getTemperature(int id) throws Exception { .... }
Есть ли лучший способ дождаться ответного сообщения, кроме выполнения всего этого "синхронизированного (объекта) wait (..) notify (. .) "вещи?
С уважением, bigbohne
Может быть, чтобы добавить немного специй:
Все это должно заканчиваться веб-интерфейсом, где пользователь может запрашивать эти команды (либо через ajax, либо напрямую). Я также подумал о кешировании значений ответа в базе данных. Но для некоторых команд у вас MUSS есть прямой ответ успех / неудача