Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在Node中优雅地结束HTTP2通信_Node.js_Http2 - Fatal编程技术网

Node.js 如何在Node中优雅地结束HTTP2通信

Node.js 如何在Node中优雅地结束HTTP2通信,node.js,http2,Node.js,Http2,如何优雅地结束节点中客户端和服务器之间的HTTP2通信 为此,必须使用相关方法和事件结束以下对象: +---------------------+------------------+-----------------------+ | Object | Relevant Methods | Relevant Events | +---------------------+------------------+-----------------------+

如何优雅地结束节点中客户端和服务器之间的HTTP2通信

为此,必须使用相关方法和事件结束以下对象:

+---------------------+------------------+-----------------------+
|       Object        | Relevant Methods |    Relevant Events    |
+---------------------+------------------+-----------------------+
| Http2Server         | close            | close                 |
| ServerHttp2Session  | close            | close, goaway         |
| Http2ServerResponse | end              | finish, close         |
| ServerHttp2Stream   | end, close       | finish, end and close |
| ClientHttp2Session  | close            | close, goaway         |
| ClientHttp2Stream   | end, close       | finish, end and close |
+---------------------+------------------+-----------------------+
我的想法是可能是这样的:

clientHttp2Stream.end()     // close write side
clientHttp2Stream.close()   // required?
然后

然后

但是,这会引发http2ServerRequest和serverHttp2Stream的
中止
事件


如果未在流上调用
.close()
,则serverHttp2Session会引发一个可能正确的
goaway
事件?

您的代码是充当HTTP/2服务器还是客户端?如果您只编写服务器代码,
clienthttpp2session
clienthttpp2stream
类不适用。@Dai它是从streamsYeah继承来的,我刚才发现了这一点并删除了我的评论。@Dai-两者-我在问客户端和服务器应该如何优雅地结束通信。
serverHttp2Stream.end() // or http2ServerResponse.end()?
serverHttp2Stream.close()
serverHttp2Stream.on('end',()=>http2Server.close())
clientHttp2Stream.on('end',()=>clientHttp2Session.close())