📜  Node.js http.server.close() 方法

📅  最后修改于: 2022-05-13 01:56:47.553000             🧑  作者: Mango

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