0
gRPCクライアントにサービスを提供するとき、私のサーバーは、クライアントの切断時に解放するリソースを割り当てます。gRPC Java:クライアントが突然切断するかどうかを知るには(サーバー側)?
私の質問は:クライアントが突然切断する際に、適切な状況をどのように扱いますか?サーバーAPIはRPCのではなく、トランスポートに基づいているため
gRPCクライアントにサービスを提供するとき、私のサーバーは、クライアントの切断時に解放するリソースを割り当てます。gRPC Java:クライアントが突然切断するかどうかを知るには(サーバー側)?
私の質問は:クライアントが突然切断する際に、適切な状況をどのように扱いますか?サーバーAPIはRPCのではなく、トランスポートに基づいているため
これは、一般的に問題ではありません。たとえば、接続があなたに公開されていないため、接続に固有のリソースを割り当てることはできません。
プロキシが巻き込まれたときに、それが故障ので、接続の基本ではないリソースを決定することをお勧めします。たとえば、GLSPサーバーの前にTLS終端プロキシがある場合、実際には接続していないにもかかわらず、すべての接続が同じ「クライアント」から来ているように見えます。
注:(クライアントのソケットアドレスを調べることで)接続を近似する方法があるが、接続がなくなった時に知る方法はありません。アドレスは純粋に情報です。
あなたが応答にデータを書き込んでいる間、切断がある場合は、インスタンスのTomcatが 'org.apache.catalina.connector.ClientAbortException'がスローされますため、その後、Webコンテナは、特定のIOExceptionをスローします。 – MartinByers
@MartinByers:ああ私の悪い!この問題をありがとうございました。 – anhldbk