Реализация обмена сообщениями между Node.js и C приложением под Linux на одном хосте - PullRequest
0 голосов
/ 27 мая 2020

В Linux я хочу сохранить границы сообщений при обмене данными между двумя процессами на одном хосте. Чтение доставит только то, для чего была произведена соответствующая запись.
Это верно для дейтаграмм UDP. TCP или любые сокеты с STREAMS исключены, потому что я не хочу писать дополнительный код разделителей сообщений, зависящих от приложения.

Я думал, что домены Unix с DGRAM будут хорошим решением для обеспечения надежности и разделения сообщений. К сожалению, Node.js не поддерживает сокеты домена Unix в режиме DGRAM.

Именованные каналы также не поддерживаются в Node.js.

Очереди сообщений Posix также изначально не поддерживаются в Node.js.

Мое приложение простое: надежная передача сообщений между Node.js и C приложением, где одно чтение извлекает именно то, что написано на другой стороне - ни больше, ни меньше. Поддержка epoll желательна (как и для очередей сообщений).

Я думаю, что RabbitMq является излишним для моего простого требования.

Есть ли какая-то связь / поддержка IP C, которую я пропустил ?

...