Подтвердить что ты не робот

Программно останавливать и перезапускать экспресс-серверы (для изменения портов)

Я ищу, чтобы иметь возможность в основном изменять порты, в которых работает мое экспресс-приложение.

Я пробовал:

server.on('close', function() {
  server.listen(3000);
});

server.listen(8080);
server.close();

Это возвращает загадочную ошибку node.js. Я запускаю node v0.4.11, теперь я обновляюсь, чтобы проверить, исправляет ли он это.

EDIT Здесь ошибка:

Assertion failed: (!io->watcher_.active), function Set, file ../src/node_io_watcher.cc, line 160.

Спасибо, Matt

4b9b3361

Ответ 1

Проблема заключается в том, что .listen является асинхронным. Вызвав .close сразу после вызова .listen, вы закрываете его, пока он не был открыт.

Попробуйте это вместо.

server.listen(8080, function() {
  server.close();
});