クライアントが単一の要求メッセージをサーバーに送信し、一連のデータ メッセージを返すクライアント/サーバー セットアップがあります。サーバーは ROUTER ソケットを使用して実装され、クライアントは DEALER を使用して実装されます。通信は非同期です。クライアントは通常 iPad/iPhone であり、wifi 経由で接続するため、接続の信頼性は 100% ではありません。
私が懸念している問題は、クライアントがサーバーに接続してデータの要求を送信しても、応答メッセージが返される前に通信がダウンする場合です (wifi の範囲外など)。
この場合、メッセージはサーバー側でキューに入れられ、クライアントが再接続するのを待ちます。しばらくは問題ありませんが、最終的にはメッセージと接続をドロップしてリソースを解放したいと考えています。
アクティビティ/タイムアウトをチェックすることで、サーバーとクライアント アプリケーションで接続が失われたことを識別できます。クライアントはソケットをシャットダウンしてリソースを解放することができますが、サーバーでそれを行うにはどうすればよいでしょうか?