Проблема с сервером Electron Express в Ubuntu - PullRequest
0 голосов
/ 05 мая 2020

Я работаю над электронным приложением с express веб-сервером в бэкэнде, сервер запускается и работает в скрытом окне браузера и контролируется системой электронного IP C. Приложение отлично работает на Windows, поэтому сейчас я тестирую его на Linux (Ubuntu 18.04.4). Это код процедуры запуска сервера:

/* other stuff */
return new Promise((resolve, reject)=>{
    if(this.ip==undefined)
      this.ip = "127.0.0.1"

    this.server = http.createServer(app)

    this.server.listen(this.port, this.ip , () => {
      var host = this.server.address().address;
      var port = this.server.address().port;
      console.log('running at http://' + host + ':' + port)

      resolve("ok")
    });

  })

Весь код заключен внутри функции-прототипа, переменная this.port - это порт сервера (я использую 9909) и this.ip - это локальный IP-адрес машины (например, 192.168.1.19). Функция выполняется без ошибок, вызывается обратный вызов, выводится running at http://192.168.1.19:9909 и разрешается Promise. На Windows это работает нормально, и когда я go с браузером и набираю http://192.168.1.19:9909, возвращает {message: Ok} из-за этого express код маршрутизации:

app.get("/", (req, res, next) => {
    console.log("TEST REQUEST")
    res.json({"message":"Ok"})
});

Вместо этого на Ubuntu браузер не загрузить сообщение, но ждать в бесконечном l oop, но код выполняется без ошибок. Я безуспешно пытаюсь запустить электрон в режиме root, порт открыт в брандмауэре. Я также пытаюсь запустить приложение basi c express, созданное с помощью express -generator, и оно без проблем работает через тот же порт. Заранее спасибо и извините за мой плохой Engli sh

...