http2session.ping([payload, ]callback)
-
payload
<Buffer> | <TypedArray> | <DataView> 可选的 ping 负载。¥
payload
<Buffer> | <TypedArray> | <DataView> Optional ping payload. -
callback
<Function> -
返回:<boolean>
¥Returns: <boolean>
向连接的 HTTP/2 对等方发送 PING
帧。必须提供 callback
函数。如果发送了 PING
,则该方法将返回 true
,否则返回 false
。
¥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.
未完成的(未确认的)ping 的最大数量由 maxOutstandingPings
配置选项决定。默认最大值为 10。
¥The maximum number of outstanding (unacknowledged) pings is determined by the
maxOutstandingPings
configuration option. The default maximum is 10.
如果提供,则 payload
必须是 Buffer
、TypedArray
或 DataView
,其中包含 8 个字节的数据,这些数据将与 PING
一起传输并与 ping 确认一起返回。
¥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.
将使用三个参数调用回调:如果 PING
被成功确认,则错误参数将为 null
,duration
参数报告自发送 ping 和收到确认以来经过的毫秒数,以及包含 8 字节 PING
有效负载的 Buffer
。
¥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()}'`);
}
});
如果未指定 payload
参数,则默认负载将是标记 PING
持续时间开始的 64 位时间戳(小端)。
¥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.