Node.js 中的 agent.createConnection() 方法

node.jsjavascriptweb developmentfront end technology

agent.createConnection() 方法是 'http' 模块提供的接口。此方法生成可用于 HTTP 请求的套接字/流。可以使用自定义代理覆盖此方法以获得更大的灵活性。套接字/流可以通过两种方式返回 - 要么直接从此函数返回套接字/流,要么将此套接字/流传递给回调。

语法

agent.createConnection(options, [callback])

参数

上述函数可以接受以下参数 −

  • options –这些选项将包含必须为其创建流的连接详细信息。

  • callback – 这将从代理接收创建的套接字连接。

示例

创建一个名为 – connection.js 的文件并复制以下代码片段。创建文件后,使用以下命令运行此代码,如下例所示 −

node connection.js

connection.js

// Node.js 程序演示套接字的创建
// 使用 agent.createConnection() 方法

// 导入 http 模块
const http = require('http');

// 创建新代理
var agent = new http.Agent({});

// 使用上述代理创建连接
var conn = agent.createConnection;
console.log('连接已成功创建 !');

// 打印连接详细信息
console.log('连接:',conn);

输出

C:\home
ode>> node connection.js 连接已成功创建 ! Connection: function connect(...args) {    var normalized = normalizeArgs(args);    var options = normalized[0];    debug('createConnection', normalized);    var socket = new Socket(options);    if (options.timeout) {       socket.setTimeout(options.timeout);    }    return socket.connect(normalized); }

示例

我们再看一个例子。

// Node.js 程序演示套接字的创建
// 使用 agent.createConnection() 方法

// 导入 http 模块
const http = require('http');

// 创建新代理
var agent = new http.Agent({});

// 定义代理选项
const aliveAgent = new http.Agent({
   keepAlive: true,
   maxSockets: 0, maxSockets: 5,
});

// 创建与活动代理的连接
var aliveConnection = aliveAgent.createConnection;

// 创建新连接
var connection = agent.createConnection;

// 打印连接
console.log('已成功创建与代理的连接:', connection.toString);
console.log('已成功创建与活动代理的连接:',
aliveConnection.toString);

输出

C:\home
ode>> node connection.js 成功与代理创建连接:function toString() { [native code] } 成功与活动代理创建连接:function toString() { [native code] }

相关文章