📅  最后修改于: 2023-12-03 15:17:54.870000             🧑  作者: Mango
Node.js中的Http2ServerResponse
类提供了多个方法,其中一个重要的方法是stream
。此方法允许使用HTTP/2协议创建一个可写的流,可用于发送响应正文数据。
Http2ServerResponse.stream(options, [callback])
该方法使用以下参数:
options
:一个可选的配置对象(详见下文)。callback
:可选回调函数,当可写流准备就绪时调用。该方法返回一个可写流。
流选项通过 options
对象传递给 Http2ServerResponse.stream()
。
endStream
:当设置为 true
时,流将在发送完所有数据后自动关闭。weight
:流的权重,每一个请求都有一个相对权重,越大的权重优先级越高。const options = {
endStream: true,
weight: 10
};
下面是一个使用Http2ServerResponse.stream
方法发送响应正文的示例。此示例创建一个HTTP/2服务器,监听3000端口,当请求到达时,将Hello World
作为响应正文发送回客户端。
const http2 = require('http2');
const fs = require('fs');
http2.createSecureServer({
key: fs.readFileSync('server.key'),
cert: fs.readFileSync('server.crt')
}, (req, res) => {
// 创建可写流
const stream = res.stream({ endStream: true });
// 发送响应正文数据
stream.write('Hello World');
}).listen(3000);
第一个参数是HTTPS或HTTP/2配置,第二个参数是一个接收请求、并发送相应的回调函数。在该回调函数中,我们创建了一个可写流,并使用stream.write()
方法将Hello World
发送回客户端。在本例中,由于我们设置了 endStream
选项,当数据被发送后,可写流将自动关闭。