好的 - 所以有一些我无法找到的东西,我觉得可能相当简单。 我创建了一个服务器,但忘记捕获变量中发回的引用。
http.createServer(function (request, response) {
// Send the HTTP header
// HTTP Status: 200 : OK
// Content Type: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// Send the response body as "Hello World"
response.end('Hello World\n');
}).listen(8081);
现在我正在尝试关闭服务器,但我没有引用服务器。 有没有办法从nodejs解释器获取引用或关闭http服务器,以避免使用taskmanager来终止进程。使用Win 7 NodeJS解释器。
不允许创建新的。
const server = http.createServer(function(request, response) {
.. // Send the HTTP header
.. // HTTP Status: 200 : OK
.. // Content Type: text/plain
.. response.writeHead(200, {'Content-Type': 'text/plain'});
..
.. // Send the response body as "Hello World"
.. response.end('Hello World\n');
..
.. }).listen(8081, () => {
..
.. console.log("closing the server in 5 seconds");
..
.. setTimeout(() => server.close(), 5000);
..
.. });
ndefined
Error: listen EADDRINUSE :::8081
at Object.exports._errnoException (util.js:1012:11)
at exports._exceptionWithHostPort (util.js:1035:20)
at Server._listen2 (net.js:1252:14)
at listen (net.js:1288:10)
at Server.listen (net.js:1384:5)
at repl:10:4
at sigintHandlersWrap (vm.js:32:31)
at sigintHandlersWrap (vm.js:96:12)
at ContextifyScript.Script.runInContext (vm.js:31:12)
at REPLServer.defaultEval (repl.js:308:29)
答案 0 :(得分:1)
您可以使用server.close();关闭它,或者只使用Ctrl-C终止该过程。
http.createServer返回服务器,因此将返回值赋给变量/常量,然后您可以引用服务器。
const server = http.createServer(function(request, response) {
// Send the HTTP header
// HTTP Status: 200 : OK
// Content Type: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// Send the response body as "Hello World"
response.end('Hello World\n');
}).listen(8081, () => {
console.log("closing the server in 5 seconds");
setTimeout(() => server.close(), 5000);
});