I'm looking to be able to basically change ports that my express app is running on.
I've tried:
server.on('close', function() {
server.listen(3000);
});
server.listen(8080);
server.close();
This returns a cryptic node.js error. I'm running node v0.4.11, I'm upgrading now to see if that fixes it.
EDIT Here's the error:
Assertion failed: (!io->watcher_.active), function Set, file ../src/node_io_watcher.cc, line 160.
Thanks, Matt
The issue is that .listen
is asynchronous. By calling .close
immediately after calling .listen
, you are closing it before it has been opened.
Try this instead.
server.listen(8080, function() {
server.close();
});
Thanks to @aymericbeaumet, the following snippet works with Express 4:
var app = express();
var server = app.listen(8080, function() {
console.log('Listening :)');
server.close(function() { console.log('Doh :('); });
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With