如何检查客户端是否终止了 gRPC 连接?

问题描述 投票:0回答:1

在 Nestjs 中,我正在服务器和客户端之间创建 gRPC 双向流连接。

这是我的理解。 gRPC 流使用 HTTP/2,它将启动单个 TCP 连接并在其上复用多个流。当流关闭时,TCP 连接仍然打开,可以重用于将来的请求。

基于docs,我的gRPC服务器将像这样实现:

@GrpcStreamCall('StreamService', 'openStream')
async openStream(requestStream: ServerDuplexStream<Message, Message>) {
        requestStream.on('close', async () => {
            // This event is emitted when the stream is closed. Not when the TCP connection is closed.
        });
}

因为当流关闭时会发出

close
事件。当 TCP 连接关闭/终止时不会。我想要一种方法来检测/处理客户端是否从服务器端终止 TCP 连接 如何?

node.js tcp nestjs grpc http2
1个回答
0
投票

你不能。 gRPC 不会向服务器应用程序公开连接信息。

© www.soinside.com 2019 - 2024. All rights reserved.