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