Цель
У меня запущены два процесса:
- Сервер Node.js, который обрабатывает внешнюю связь (с другими компьютерами)
- C-код, который выполняется вбесконечный цикл, выполняющий обработку в реальном времени
Сервер node.js будет получать данные с внешнего компьютера, отправлять их в код C (который уже запущен), ждать ответа и отправлятьответ на внешний компьютер.
ОДНАКО, код C не может ждать ввода от сервера node.js.Он должен постоянно работать с использованием самых последних данных из кода js (обновлять эти последние значения при каждом получении новых данных).Другими словами, код C нуждается в неблокирующем вводе с сервера node.js.Сервер node.js должен получать событие (привязанное к обратному вызову) каждый раз, когда код C периодически отправляет ему информацию обратно.
Что я сделал
- Код node.jsуже правильно обрабатывает внешний ввод-вывод (довольно полно)
- Код C изолированно выполняет нужную мне задачу, просто не получая данные из кода node.js
Я сейчас пытаюсьскомбинировать их так, чтобы код C получал свои данные датчика из кода node.js (как я описал выше).
Как я могу это сделать
Моя текущая лучшая догадка о том, каксделать это с помощью сокетов (я думаю, что они не блокируют?).Однако я никогда не делал этого раньше, поэтому прежде чем потратить кучу времени на изучение работы сокетов и написание кода, я хочу убедиться, что этот метод действительно может работать.Итак, я хочу посмотреть, есть ли у кого-нибудь предложения о том, как проще всего достичь того, что я описал.Если это действительно сокеты, то, по крайней мере, я знаю, что я не трачу свое время.Спасибо за любые предложения!