gRPC Java:如何知道客户端是否突然中断(服务器端)?
答
这通常不是问题,因为服务器API基于RPC而不是传输。例如,您无法分配特定于连接的资源,因为连接不会公开给您。
不建立连接资源决定是一个好主意,因为当代理卷入时它会崩溃。例如,如果您的gRPC服务器前有TLS终止代理,则所有连接看起来都来自同一个“客户端”,即使实际上它们不是。
注意:有些方法可以近似连接(通过查看客户端的套接字地址),但是无法知道连接何时消失。地址纯粹是信息性的。
如果断开是在向响应写入数据时发生的,那么Web容器将抛出一个特定的IOException,例如tomcat将抛出一个'org.apache.catalina.connector.ClientAbortException'。 – MartinByers
@MartinByers:哦,我的坏!非常感谢你解决这个问题。 – anhldbk