Организовать общение 2 (и более) приложений через RPC на языке JavaScript, без использования каких-либо сетевых библиотек реализующие все это из коробки (пример gRPC). Отправляемое сообщение вводится в консоль приложения отправителя, на стороне приложения получателя выводится:
- Текст сообщение;
- Идентификатор приложения отправителя;
- Идентификатор приложения получателя (если имеется);
- Время отправления
Входной параметр:
- Идентификатор приложения получателя / -1 (всем);
- Текст сообщения;
-
Запуск сервиса
cd service
npm i
npm start
-
Запуск экземляра клиента
cd client
npm i
npm start
Реализация RPC написана поверх websocket, хотя использованных JSON RPC протокол может быть реализован и над HTTP, TCP и т.д. В связи с этим было бы более грамотно передавать в конструктор не экземпляр http.createServer(), a RPCService классы-адаптеры (для работы над websocket, HTTP...) реализующие заранее определенный интерфейс на получение и отправку сообщений. Но реализация была бы очень времязатратна.