繁体   English   中英

gRPC Java:如何知道客户端是否突然断开连接(服务器端)?

[英]gRPC Java: How to know if a client disconnects abruptly (server side)?

为gRPC客户端提供服务时,我的服务器分配的资源要在客户端断开连接时释放。

我的问题是:当客户端突然断开连接时,如何正确处理这种情况?

这通常不是问题,因为Server API基于RPC而不是传输。 例如,您不能分配特定于连接的资源,因为该连接不会向您公开。

最好不要将资源决策建立在连接上,因为当涉及代理时它会崩溃。 例如,如果您在gRPC服务器之前有一个TLS终止代理,则所有连接似乎都来自同一“客户端”,即使实际上并非如此。

注意:有多种方法可以近似连接(通过查看客户端的套接字地址),但是无法知道何时断开连接。 该地址仅供参考。

构建服务器时,请添加具有以下方法的ServerTransportFilter:transportTerminated(Attributes transportAttrs)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM