事件:'stream'
添加于:v8.4.0
参数
stream
<Http2Stream> 对流的引用headers
<HTTP/2 Headers Object> 说明标题的对象flags
<number> 相关的数字标志rawHeaders
<Array> 包含原始标头名称及其各自值的数组。
'stream'
事件在创建新的 Http2Stream
时发出。
const http2 = require('node:http2');
session.on('stream', (stream, headers, flags) => {
const method = headers[':method'];
const path = headers[':path'];
// ...
stream.respond({
':status': 200,
'content-type': 'text/plain; charset=utf-8'
});
stream.write('hello ');
stream.end('world');
});
在服务器端,用户代码通常不会直接侦听此事件,而是为 net.Server
或 tls.Server
实例分别由 http2.createServer()
和 http2.createSecureServer()
返回的 'stream'
事件注册一个处理程序,如下例所示:
const http2 = require('node:http2');
// Create an unencrypted HTTP/2 server
const server = http2.createServer();
server.on('stream', (stream, headers) => {
stream.respond({
'content-type': 'text/html; charset=utf-8',
':status': 200
});
stream.on('error', (error) => console.error(error));
stream.end('<h1>Hello World</h1>');
});
server.listen(80);
即使 HTTP/2 流和网络套接字不是 1:1 对应的,网络错误也会破坏每个单独的流,并且必须在流级别进行处理,如上所示。
相关用法
- Node.js Http2SecureServer 'stream'事件用法及代码示例
- Node.js Http2Server 'stream'事件用法及代码示例
- Node.js tls.TLSSocket 'session'事件用法及代码示例
- Node.js tls.Server 'keylog'事件用法及代码示例
- Node.js http.Server 'clientError'事件用法及代码示例
- Node.js cluste 'disconnect'事件用法及代码示例
- Node.js proces 'exit'事件用法及代码示例
- Node.js stream.Writable 'pipe'事件用法及代码示例
- Node.js stream.Readable 'end'事件用法及代码示例
- Node.js cluste 'fork'事件用法及代码示例
- Node.js stream.Writable 'unpipe'事件用法及代码示例
- Node.js Http2Session 'remoteSettings'事件用法及代码示例
- Node.js Worker 'listening'事件用法及代码示例
- Node.js tls.Server 'resumeSession'事件用法及代码示例
- Node.js InterfaceConstructor 'pause'事件用法及代码示例
- Node.js fs.FSWatcher 'change'事件用法及代码示例
- Node.js stream.Readable 'data'事件用法及代码示例
- Node.js http.ClientRequest 'connect'事件用法及代码示例
- Node.js proces 'uncaughtException'事件用法及代码示例
- Node.js Http2Session 'localSettings'事件用法及代码示例
- Node.js REPLServer 'exit'事件用法及代码示例
- Node.js cluste 'online'事件用法及代码示例
- Node.js Worker 'exit'事件用法及代码示例
- Node.js cluste 'exit'事件用法及代码示例
- Node.js Http2Stream 'trailers'事件用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 'stream'事件。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。