📅  最后修改于: 2023-12-03 15:03:13.526000             🧑  作者: Mango
在 Node.js 中,http2stream.close() 方法用于关闭 HTTP2 流。
以下是 http2stream.close() 方法的语法:
http2Stream.close([code], [reason], [headers])
参数说明:
code
:可选,关闭流时应该发送的错误码。 如果省略,则使用默认值NGHTTP2_NO_ERROR
。 错误码是一个整数,根据 HTTP2 规范 中定义的值进行计算。reason
:可选,HTTP/2STREAM_STATE_CLOSED 原因。headers
:可选,将请求头和响应头作为此流的结尾发送给远程节点。 该方法没有返回值。
以下代码示例演示了如何使用 http2stream.close() 方法:
const http2 = require('http2');
const server = http2.createSecureServer({
key: fs.readFileSync('localhost-privkey.pem'),
cert: fs.readFileSync('localhost-cert.pem')
});
server.on('stream', (stream, headers) => {
stream.respond({
'content-type': 'text/html',
':status': 200
});
stream.end('<h1>Hello World</h1>');
});
server.listen(3000);
server.on('session', (session) => {
session.on('stream', (stream) => {
stream.respond({
':status': 200,
'content-type': 'text/html'
});
stream.write('<h1>Stream</h1>');
stream.write('This is a stream');
stream.end(() => {
console.log('stream finished successfully!');
stream.close();
console.log('stream successfully closed!');
});
});
});
在此示例中,我们使用 http2Stream.close()
方法来关闭 HTTP2 流。在流结束时,我们先打印“stream finished successfully!”以确认流成功关闭,然后调用 http2Stream.close()
方法关闭流。最后,我们再次打印“stream successfully closed!”以确认流已被成功关闭。