当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Node.js http2.connect(authority[, options][, listener])用法及代码示例

http2.connect(authority[, options][, listener])

历史
版本变化
v13.0.0

PADDING_STRATEGY_CALLBACK 已等同于提供 PADDING_STRATEGY_ALIGNED 并且 selectPadding 已被删除。

v15.10.0、v14.16.0、v12.21.0、v10.24.0

添加了 unknownProtocolTimeout 选项,默认值为 10000。

v14.4.0、v12.18.0、v10.21.0

添加了 maxSettings 选项,默认值为 32。

v8.9.3

添加了默认限制为 10 的 maxOutstandingPings 选项。

v8.9.3

添加了默认限制为 128 个标头对的 maxHeaderListPairs 选项。

v8.4.0

添加于:v8.4.0


参数
  • authority <string> | <URL> 要连接的远程 HTTP/2 服务器。这必须采用具有 http://https:// 前缀、主机名和 IP 端口(如果使用非默认端口)的最小有效 URL 的形式。 URL 中的用户信息(用户 ID 和密码)、路径、查询字符串和片段详细信息将被忽略。
  • options <Object>
    • maxDeflateDynamicTableSize <number> 设置用于缩小标题字段的最大动态表大小。 默认: 4Kib
    • maxSettings <number> 设置每个 SETTINGS 帧的最大设置条目数。允许的最小值是 1默认: 32
    • maxSessionMemory <number> 设置Http2Session 允许使用的最大内存。该值以兆字节数表示,例如1 等于 1 兆字节。允许的最小值是 1 。这是基于信用的限制,现有的 Http2Stream 可能会导致超出此限制,但新的 Http2Stream 实例将在超出此限制时被拒绝。当前 Http2Stream 会话数、标头压缩表的当前内存使用、当前排队发送的数据以及未确认的 PINGSETTINGS 帧都计入当前限制。 默认: 10
    • maxHeaderListPairs <number> 设置标题条目的最大数量。这类似于 http.Server#maxHeadersCount http.ClientRequest#maxHeadersCount 。最小值为 1默认: 128
    • maxOutstandingPings <number> 设置未完成的未确认 ping 的最大数量。 默认: 10
    • maxReservedRemoteStreams <number> 设置客户端在任何给定时间将接受的保留推送流的最大数量。当前预留的推流数量一旦超过这个限制,服务器发送的新推流将被自动拒绝。允许的最小值为 0。允许的最大值为 2232-1。负值将此选项设置为允许的最大值。 默认: 200
    • maxSendHeaderBlockLength <number> 设置序列化、压缩的标头块的最大允许大小。尝试发送超出此限制的标头将导致发出 'frameError' 事件并关闭和销毁流。
    • paddingStrategy <number>用于确定要使用的填充量的策略HEADERSDATA帧。默认: http2.constants.PADDING_STRATEGY_NONE.值可能是以下之一:
      • http2.constants.PADDING_STRATEGY_NONE:不应用填充。
      • http2.constants.PADDING_STRATEGY_MAX :应用由内部实现确定的最大填充量。
      • http2.constants.PADDING_STRATEGY_ALIGNED :尝试应用足够的填充以确保总帧长度(包括 9 字节标头)是 8 的倍数。对于每个帧,存在由当前流控制确定的最大允许填充字节数状态和设置。如果此最大值小于确保对齐所需的计算量,则使用最大值并且总帧长度不必对齐为 8 个字节。
    • peerMaxConcurrentStreams <number> 设置远程对等方的最大并发流数,就像已接收到 SETTINGS 帧一样。如果远程对等方为 maxConcurrentStreams 设置自己的值,将被覆盖。 默认: 100
    • protocol <string> 要连接的协议,如果未在 authority 中设置。值可以是 'http:''https:'默认: 'https:'
    • settings <HTTP/2 Settings Object> 在连接时发送到远程对等方的初始设置。
    • createConnection <Function> 一个可选回调,它接收传递给connectoptions 对象的URL 实例,并返回用作此会话连接的任何 Duplex 流。
    • ...:可以提供任何 net.connect() tls.connect() 选项。
    • unknownProtocolTimeout <number> 指定发出 'unknownProtocol' 事件时服务器应等待的超时时间(以毫秒为单位)。如果到那时套接字还没有被销毁,服务器将销毁它。 默认: 10000
  • listener <Function> 将注册为 'connect' 事件的一次性侦听器。
  • 返回: <ClientHttp2Session>

返回一个 ClientHttp2Session 实例。

const http2 = require('node:http2');
const client = http2.connect('https://localhost:1234');

/* Use the client */

client.close();

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 http2.connect(authority[, options][, listener])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。