基本的に、私の高速アプリが実行されているポートを変更できるようにしています。
私はもう試した:
server.on('close', function() {
server.listen(3000);
});
server.listen(8080);
server.close();
これは、不可解なnode.jsエラーを返します。私はノードv0.4.11を実行していますが、それが修正されるかどうかを確認するために今アップグレードしています。
[〜#〜] edit [〜#〜]エラーは次のとおりです。
Assertion failed: (!io->watcher_.active), function Set, file ../src/node_io_watcher.cc, line 160.
ありがとう、マット
問題は、.listen
が非同期であることです。 .close
を呼び出した直後に.listen
を呼び出すことにより、開く前に閉じます。
代わりにこれを試してください。
server.listen(8080, function() {
server.close();
});
@ aymericbeaumet のおかげで、次のスニペットはExpress 4で動作します:
var app = express();
var server = app.listen(8080, function() {
console.log('Listening :)');
server.close(function() { console.log('Doh :('); });
});