2017-10-16 38 views
0

gRPCクライアントにサービスを提供するとき、私のサーバーは、クライアントの切断時に解放するリソースを割り当てます。gRPC Java:クライアントが突然切断するかどうかを知るには(サーバー側)?

私の質問は:クライアントが突然切断する際に、適切な状況をどのように扱いますか?サーバーAPIはRPCのではなく、トランスポートに基づいているため

+0

あなたが応答にデータを書き込んでいる間、切断がある場合は、インスタンスのTomcatが 'org.apache.catalina.connector.ClientAbortException'がスローされますため、その後、Webコンテナは、特定のIOExceptionをスローします。 – MartinByers

+0

@MartinByers:ああ私の悪い!この問題をありがとうございました。 – anhldbk

答えて

0

これは、一般的に問題ではありません。たとえば、接続があなたに公開されていないため、接続に固有のリソースを割り当てることはできません。

プロキシが巻き込まれたときに、それが故障ので、接続の基本ではないリソースを決定することをお勧めします。たとえば、GLSPサーバーの前にTLS終端プロキシがある場合、実際には接続していないにもかかわらず、すべての接続が同じ「クライアント」から来ているように見えます。

注:(クライアントのソケットアドレスを調べることで)接続を近似する方法があるが、接続がなくなった時に知る方法はありません。アドレスは純粋に情報です。

関連する問題