java - gRPC Java : How to know if a client disconnects abruptly (server side)?

标签 java grpc

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

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

最佳答案

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

不基于连接做出资源决策是个好主意,因为当涉及到代理时它就会崩溃。例如,如果您的 gRPC 服务器前面有一个 TLS 终止代理,所有连接都将看起来来自同一个“客户端”,尽管实际上它们并非如此。

注意:有一些方法可以估计连接(通过查看客户端的套接字地址),但是无法知道连接何时消失。地址仅供引用。

关于java - gRPC Java : How to know if a client disconnects abruptly (server side)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46765995/

相关文章:

java - 无法通过 SSL 从客户端连接到 grpc 服务器

go - grpc-通过 https : failed rpc error: code = Unavailable desc = transport is closing:

java - 线程 "main"java.lang.NoClassDefFoundError : java/util/function/Predicate 中的异常

java - 为什么我要捕获异常

java - 创建一个在数组列表中交换两个整数位置的方法

java - Gradle 无法检测到 osdetector 插件

php - gRPC 扩展未安装在 Ubuntu 18.04 的正确 PHP 版本中

kubernetes - Kubernetes GRPC HTTP 2错误

java - 如何在 Gradle 的 buildSrc 下的自定义任务中使用第三方依赖项

java - 如何通过json返回数据