クライアントとサーバー間のTCP接続を使用するミッションクリティカルなリアルタイムデータアプリケーションがあります。場合によっては、接続が定期的に停止します(SocketException)。問題ありません。再接続して先に進んでください。ただし、これらの断続的な接続の低下に顧客はわくわくしません。
指をどこに向けたらいいのか知りたいのですが。それはクライアントですか、それともサーバーですか?ハードウェアまたはソフトウェア?それはイーサネットリンクについての何かですか?最終的には、接続の状態を示すインジケーターがユーザーに表示されるため、不良リンクを調査して修正できます。
TcpClient、Socket、または接続の状態について教えてくれる他の何かからプルできるメトリックはありますか?おそらく、確認までの平均時間、再試行回数などですか?
特に、イーサネット接続全体だけでなく、TCP接続について知りたいです(LAN接続はダンディかもしれませんが、外部サーバーへの接続に問題がある可能性があります)。
もちろん、リモートホストにpingを実行することはできますが、それによって、探している種類の統計情報が実際に得られるとは思いません。一つには、サーバーがNATの背後に隠れている場合、ルーターにpingを実行している可能性があります。