Предотвращение остановки приложения Node, когда рабочий стол Windows 10 переключается на экран блокировки

Я реализую приложение Node, используя Electron, которое взаимодействует с сервером веб-сокетов. Приложение работает без сбоев, пока пользователь вошел в систему. Если пользователь неактивен в течение некоторого времени, появляется экран блокировки системы Windows 10. Затем соединение через веб-сокет кажется остановленным, пока пользователь разблокирует рабочий стол.

Есть ли шанс открыть и запустить соединение через веб-сокет, если клиент находится на экране блокировки?

Может быть, есть решение, позволяющее системе не блокировать экран через узел?


person MadMaxAPP    schedule 24.03.2020    source источник
comment
Вы когда-нибудь использовали powerMonitor?   -  person tpikachu    schedule 24.03.2020
comment
нет не пользовался до сегодняшнего дня. Мое приложение не падает и начинает повторное подключение после того, как пользователь разблокирует экран. НО я пропускаю важные данные из веб-сокета, когда экран заблокирован.   -  person MadMaxAPP    schedule 24.03.2020


Ответы (1)


нашел решение сам:

Электрон предлагает класс powerSaveBlocker

пример:

const { powerSaveBlocker } = require('electron')
const id = powerSaveBlocker.start('prevent-display-sleep')
console.log(powerSaveBlocker.isStarted(id))
powerSaveBlocker.stop(id)

Более подробную информацию можно найти в официальной документации API:

https://electronjs.org/docs/api/power-save-blocker

person MadMaxAPP    schedule 26.03.2020