#node.js #socket.io #electron
Вопрос:
У меня есть электронное приложение, которое работает на 3 сайтах уже чуть больше месяца. Приложение Electron подключается к разъему.сервер ввода-вывода с использованием socket.io-клиента узла. 30 сентября все соединения были в порядке, но с 1 октября ни одно из них не работало. В попытке изолировать проблему я написал «test.js» с помощью следующего простого кода;
const io = require("socket.io-client");
const client = io("wss://myserver.com");
console.log('check 1', client.connected); // returns false as expected
client.on('connect', function() {
console.log('check 2', client.connected); // returns true after about a second
});
Когда я запускаю «узел test.js» все работает нормально. Первая проверка возвращает значение false, а вторая-значение true. Однако, когда я копирую/вставляю точный код в приложение Electron и запускаю «electron». (или «запуск npm») Я получаю первую проверку, возвращающую ложь, как и ожидалось, и ни одна вторая проверка ничего не возвращает. Имея в виду, что все это работало 4 дня назад на 3 отдельных сайтах. В test.js находится в той же папке, что и электронная app.js и вызывает один и тот же экземпляр socket.io-клиента.
Есть какие-нибудь идеи относительно того, что я мог бы попробовать дальше или в чем проблема?
Спасибо Дэниел
Комментарии:
1. Попробуйте добавить еще несколько прослушивателей событий, таких как
client.on('connect_error', ...
илиclient.on('disconnect', function(reason){....
.2. Также проверьте, не изменилось ли что-нибудь в брандмауэре/антивирусе и т. Д. (Попробуйте отключить на короткое время и протестировать..). Также убедитесь, что
Windows Feature => websockets
они включены.. Google поможет^^.3. Та же ошибка и здесь. У меня есть электронное приложение, которое работает уже 3 года без каких-либо проблем. Сегодня (5 октября 2021 года) электронные веб-узлы просто перестали работать. После включения функции Windows => websockets (спасибо @SilvanBregy ) в консоли отладки начали появляться ошибки, но соединение с сервером по-прежнему отсутствовало 🙁
4. @IgorVujovic — Это было неприятное время, что в конечном итоге сработало для меня, так это удаление папки node-modules и package-lock.json. Затем измените версию socket.io-клиента на «последнюю» в package.json и запустите установку npm и ./node_modules/.bin/электронная перестройка. Я надеюсь, что это поможет.
5. Помогло обновление версии socket.io-клиента и компиляция с использованием последней версии electronjs. Спасибо @SilvanBregy и Даниэлю ван Эдену