From 7221fe1721654e62dad4c7fb820810c4ecc2aaa3 Mon Sep 17 00:00:00 2001 From: Dollerino Date: Tue, 14 Nov 2023 19:10:56 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A6=D0=98=D0=A2=D0=9A-641=20-=20=D0=94=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=D0=BE?= =?UTF-8?q?=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20=D1=83?= =?UTF-8?q?=D0=BA=D0=B0=D0=B7=D0=B0=D0=BD=D0=B8=D1=8F=20IP-=D0=B0=D0=B4?= =?UTF-8?q?=D1=80=D0=B5=D1=81=D0=B0=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=B0=20=D0=BF=D1=80=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.js | 2 ++ core/app.js | 5 +++-- core/in_queue.js | 4 ++-- models/obj_config.js | 10 ++++++++++ 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/config.js b/config.js index e605e73..c6c8ed3 100644 --- a/config.js +++ b/config.js @@ -57,6 +57,8 @@ let outGoing = { let inComing = { //Порт сервера входящих сообщений nPort: 8080, + //IP-адрес сервера приложений (0.0.0.0 - все доступные) + sHost: "0.0.0.0", //Максимальный размер входящего сообщения (мб) nMsgMaxSize: 10, //Каталог размещения статических ресурсов diff --git a/core/app.js b/core/app.js index 756e0cf..77f3e4e 100644 --- a/core/app.js +++ b/core/app.js @@ -113,11 +113,12 @@ class ParusAppServer { else await this.onInQStopped(); } //При запуске обработчика входящих сообщений - async onInQStarted(nPort) { + async onInQStarted(nPort, sHost) { //Сообщим, что запустили обработчик await this.logger.info( - `Обработчик очереди входящих сообщений запущен (порт - ${nPort}, доступные IP - ${getIPs().join("; ")})` + `Обработчик очереди входящих сообщений запущен (порт - ${nPort}, доступные IP - ${sHost === "0.0.0.0" ? getIPs().join("; ") : sHost})` ); + //Запускаем //Запускаем модуль отправки уведомлений await this.logger.info("Запуск модуля отправки уведомлений..."); try { diff --git a/core/in_queue.js b/core/in_queue.js index 78c77b8..cb2f519 100644 --- a/core/in_queue.js +++ b/core/in_queue.js @@ -78,7 +78,7 @@ class InQueue extends EventEmitter { //Уведомление о запуске обработчика очереди notifyStarted() { //Оповестим подписчиков о запуске - this.emit(SEVT_IN_QUEUE_STARTED, this.inComing.nPort); + this.emit(SEVT_IN_QUEUE_STARTED, this.inComing.nPort, this.inComing.sHost); } //Уведомление об остановке обработчика очереди notifyStopped() { @@ -442,7 +442,7 @@ class InQueue extends EventEmitter { res.status(500).send(makeErrorText(new ServerError(SERR_WEB_SERVER, err.message))); }); //Запускаем сервер - this.srv = this.webApp.listen(this.inComing.nPort, "0.0.0.0", () => { + this.srv = this.webApp.listen(this.inComing.nPort, this.inComing.sHost, () => { //И оповещаем всех что запустились this.notifyStarted(); }); diff --git a/models/obj_config.js b/models/obj_config.js index 63fa321..44c0848 100644 --- a/models/obj_config.js +++ b/models/obj_config.js @@ -259,6 +259,16 @@ const inComing = new Schema({ `Порт сервера входящих сообщений (${path}) должен быть целым числом в диапазоне от 0 до 65535` } }, + sHost: { + type: String, + required: true, + message: { + type: path => + `IP-адрес сервера приложений (${path}) имеет некорректный тип данных (ожидалось - String)`, + required: path => `Не указан IP-адрес сервера приложений (${path})` + } + + }, //Максимальный размер входящего сообщения (мб) nMsgMaxSize: { type: Number,