Par programmation d'arrêter et de redémarrer express serveurs (pour changer de ports)

Je suis à la recherche pour être en mesure de modifier fondamentalement les ports de mon express application est en cours d'exécution sur.

J'ai essayé:

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

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

Cela renvoie une cryptique node.js erreur. Je suis en cours d'exécution nœud v0.4.11, je me suis mise à niveau maintenant à voir si cela résout-il.

MODIFIER Voici l'erreur:

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

Grâce,
Matt

  • .listen est asynchrone, qui va essayer de la fermer avant de l'ouvrir. Essayez server.listen(8080, function() { server.close(); });, peut-être que ce sera le travail.
  • Quelle erreur avez-vous?
  • Échec de l'Assertion: (!io->watcher_.active), fonction, fichier ../src/node_io_watcher.cc, ligne 160.
  • En fait ce qui est à la recherche comme une erreur dans 0.4.11. J'ai mis à jour à 0.7.7 et il semble fonctionner. @loganfsmyth , bon je ne pense pas que c'était le problème ici, mais qui pourrait conduire à des problèmes sur la route.
  • en fait scratch. Qui semble être à la racine du problème. Pourriez-vous mettre dans une réponse afin que je puisse l'accepter? Merci homme.
  • Heureux de vous aider, de répondre à posté.

InformationsquelleAutor Matt | 2012-03-31