在侦听崩溃后关闭服务器并且运行异常

时间:2012-01-05 22:20:49

标签: node.js

我有以下代码:

var net = require('net');
var server = net.createServer(function (stream) {
    console.log("request");
});
console.log("== 1");
server.listen(8124, 'localhost',function(){console.log("listening");});
console.log("== 2");
server.close();

输出是:
== 1
== 2
然后网络模块抛出Not running的例外 在node.js文档中,它写道: Stops the server from accepting new connections. This function is asynchronous, the server is finally closed when the server emits a 'close' event. 如果它是异步的那么为什么我得到那个输出?它应先听,然后关闭它。

谢谢!

1 个答案:

答案 0 :(得分:0)

无法保证服务器在关闭之前会开始侦听(因为侦听是异步的)。

关闭服务器,如:

server.listen(8124, 'localhost', function () {
  console.log("listening");
  server.close();
});

应该有用。