Node.js http.server.close() 方法
http.server.close()是 HTTP 模块中 Server 类的内置应用程序编程接口,用于阻止服务器接受新连接。
句法:
const server.close([callback])
参数:此方法只接受一个可选的回调函数参数作为参数。
返回值:此方法只返回一个回调函数。
示例 1:文件名-index.js
Javascript
// Node.js program to demonstrate the
// server.close() method
// Importing http module
var http = require('http');
// Setting up PORT
const PORT = process.env.PORT || 3000;
// Creating http Server
var httpServer = http.createServer(
function (request, response) {
// Getting the reference of the
// underlying socket object
// by using socket method
const value = response.socket;
// Display result by using end() method
response.end("socket buffersize : "
+ value.bufferSize, 'utf8', () => {
console.log("displaying the result...");
// Closing server
// by using close() method
httpServer.close(() => {
console.log("server is closed")
})
});
});
// Listening to http Server
httpServer.listen(PORT, () => {
console.log("Server is running at port 3000...");
});
Javascript
// Node.js program to demonstrate the
// server.close() method
// Importing http module
var http = require('http');
// Request and response handler
const http2Handlers = (request, response) => {
// Getting the reference of the
// underlying socket object
// by using socket method
const value = response.socket;
// Display result by using end() method
response.end("socket local address : "
+ value.localAddress, 'utf8', () => {
console.log("displaying the result...");
// Closing server
// by using close() method
httpServer.close(() => {
console.log("server is closed")
})
});
};
// Creating http Server
var httpServer = http.createServer(
http2Handlers).listen(3000, () => {
console.log("Server is running at port 3000...");
});
使用以下命令运行index.js文件:
node index.js
输出:
Server is running at port 3000...
displaying the result...
server is closed
现在在浏览器中运行http://localhost:3000/ ,您将在屏幕上看到以下输出:
socket buffersize : 0
示例 2:文件名-index.js
Javascript
// Node.js program to demonstrate the
// server.close() method
// Importing http module
var http = require('http');
// Request and response handler
const http2Handlers = (request, response) => {
// Getting the reference of the
// underlying socket object
// by using socket method
const value = response.socket;
// Display result by using end() method
response.end("socket local address : "
+ value.localAddress, 'utf8', () => {
console.log("displaying the result...");
// Closing server
// by using close() method
httpServer.close(() => {
console.log("server is closed")
})
});
};
// Creating http Server
var httpServer = http.createServer(
http2Handlers).listen(3000, () => {
console.log("Server is running at port 3000...");
});
使用以下命令运行index.js文件:
node index.js
输出:
Server is running at port 3000...
displaying the result...
server is closed
现在在浏览器中运行http://localhost:3000/ ,您将在屏幕上看到以下输出:
socket local address : ::1
参考:https://nodejs.org/dist/latest-v12.x/docs/api/http.html#http_server_close_callback