事件:'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'事件。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。