Node.js http.ServerResponse.socket API
httpServerResponse.socket是http 模块中ServerResponse 类的内置应用程序编程接口,用于获取底层socket 对象的引用。
句法:
response.socket
参数:此方法不接受任何参数作为参数。
返回值:此方法返回底层套接字对象的引用。
示例 1:文件名:index.js
Javascript
// Node.js program to demonstrate the
// response.socket APi
// 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 API
const value = response.socket;
// display result
// by using end() api
response.end( "socket buffersize : "
+ value.bufferSize, 'utf8', () => {
console.log("displaying the result...");
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
// response.socket APi
// 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 API
const value = response.socket;
// Display result
// by using end() api
response.end( "Socket local address : "
+ value.localAddress, 'utf8', () => {
console.log("displaying the result...");
// Closing the server
httpServer.close(()=>{
console.log("server is closed")
})
});
};
// Creating http Server and listening
// on the given port
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...
displaying the result...
server is closed
server is closed
浏览器输出:
- 粘贴本地主机地址 http://localhost:3000/。在浏览器的搜索栏中。
socket buffersize : 0
示例 2:文件名:index.js
Javascript
// Node.js program to demonstrate the
// response.socket APi
// 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 API
const value = response.socket;
// Display result
// by using end() api
response.end( "Socket local address : "
+ value.localAddress, 'utf8', () => {
console.log("displaying the result...");
// Closing the server
httpServer.close(()=>{
console.log("server is closed")
})
});
};
// Creating http Server and listening
// on the given port
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...
displaying the result...
server is closed
server is closed
浏览器输出:
- 粘贴本地主机地址 http://localhost:3000/。在浏览器的搜索栏中。
socket local address : ::1
参考:https://nodejs.org/dist/latest-v12.x/docs/api/http.html#http_response_socket