Разъем.IO просто перестал работать с моим электронным приложением

#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 и Даниэлю ван Эдену