http2session.ping([payload, ]callback)
payload
<Buffer> | <TypedArray> | <DataView> 可选的 ping 负载。callback
<Function>- 返回: <boolean>
向连接的 HTTP/2 对等方发送 PING
帧。
必须提供 callback
函数。
如果发送了 PING
,则该方法将返回 true
,否则返回 false
。
未完成的(未确认的)ping 的最大数量由 maxOutstandingPings
配置选项决定。
默认最大值为 10。
如果提供,则 payload
必须是 Buffer
、TypedArray
或 DataView
,其中包含 8 个字节的数据,这些数据将与 PING
一起传输并与 ping 确认一起返回。
回调将使用三个参数调用:一个错误参数(如果 PING
被成功确认,则它将是 null
),一个 duration
参数(报告自发送 ping 和收到确认以来经过的毫秒数),以及一个 Buffer
(包含 8 字节 PING
有效载荷)。
session.ping(Buffer.from('abcdefgh'), (err, duration, payload) => {
if (!err) {
console.log(`Ping acknowledged in ${duration} milliseconds`);
console.log(`With payload '${payload.toString()}'`);
}
});
如果未指定 payload
参数,则默认负载将是标记 PING
持续时间开始的 64 位时间戳(小端)。
payload
<Buffer> | <TypedArray> | <DataView> Optional ping payload.callback
<Function>- Returns: <boolean>
Sends a PING
frame to the connected HTTP/2 peer. A callback
function must
be provided. The method will return true
if the PING
was sent, false
otherwise.
The maximum number of outstanding (unacknowledged) pings is determined by the
maxOutstandingPings
configuration option. The default maximum is 10.
If provided, the payload
must be a Buffer
, TypedArray
, or DataView
containing 8 bytes of data that will be transmitted with the PING
and
returned with the ping acknowledgment.
The callback will be invoked with three arguments: an error argument that will
be null
if the PING
was successfully acknowledged, a duration
argument
that reports the number of milliseconds elapsed since the ping was sent and the
acknowledgment was received, and a Buffer
containing the 8-byte PING
payload.
session.ping(Buffer.from('abcdefgh'), (err, duration, payload) => {
if (!err) {
console.log(`Ping acknowledged in ${duration} milliseconds`);
console.log(`With payload '${payload.toString()}'`);
}
});
If the payload
argument is not specified, the default payload will be the
64-bit timestamp (little endian) marking the start of the PING
duration.