当为 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/