📅  最后修改于: 2023-12-03 15:33:08.205000             🧑  作者: Mango
createConnection()
方法是 Node.js 模块 agent
中的一个方法,它可用于创建一个用于 HTTP 或 HTTPS 的网络连接。
agent.createConnection(options[, callback])
options
:一个包含新建连接所需信息的对象,包括以下字段:host
:可选,字符串,指定主机名或 IP 地址,默认为 localhost
。port
:必选,数字,指定连接的端口号。localAddress
:可选,字符串,指定本地地址。family
:可选,可取值为 4
或 6
,指定 IP 版本号。socket
:可选,一个现有的 socket
对象,用于重用一条已经存在的连接。servername
:可选,字符串,指定用于 TLS
套接字的 SNI
字段。callback
:可选的回调函数,用于在套接字创建完成后执行。返回一个新建的套接字对象。
下面是一个使用 agent.createConnection()
方法创建 HTTP 连接的示例:
const http = require('http');
const agent = new http.Agent({ keepAlive: true });
const options = {
host: 'www.example.com',
port: 80,
path: '/',
method: 'GET',
agent: agent
};
const req = http.request(options, (res) => {
console.log('statusCode:', res.statusCode);
console.log('headers:', res.headers);
res.on('data', (d) => {
process.stdout.write(d);
});
});
req.on('socket', function (socket) {
socket.setTimeout(2000);
socket.on('timeout', function() {
req.abort();
});
});
req.on('error', (err) => {
console.error(err);
});
req.end();
在上面的示例中,我们创建了一个可保持连接的 HTTP 代理,使用 agent.createConnection()
方法创建了一个连接并发送了一个请求。在请求被发送之前,我们在 req
对象的 socket
事件上设置了许多选项,比如连接超时等。
agent.createConnection()
方法是内部方法,通常不会被直接使用。它主要用于创建在网络连接时进行各种设置的套接字。