Windows (Vista 以降) には、既存の確立済みの送信 TCP 接続が SO_KEEPALIVE オプションで作成されたかどうかを判断するのに役立つ方法またはツールがあります。
Unix プラットフォームでは、これは通常 netstat を使用して確認できます (つまり、'netstat -o' は KEEPALIVE の別の列を表示します)。
Windows の Netstat にはこの機能がありません。私がテストした他の Microsoft/SysInternals ネットワーク ツールも同様です。
この情報を提供できるツールを見つけることができないようです。
シナリオ: Windows 2008 R2 サーバーで実行されているアプリケーションは、確立するすべての接続で TCP キープアライブを有効にする必要があります。一部のアプリケーションには、TCP キープアライブを有効にするオプションがありません。これらのアプリケーションでデフォルトで有効になっているかどうかを確認する方法が必要です。
明確にするために、既存のwinsock接続でTCPキープアライブが有効になっているかどうかを示すツール、またはツールのプログラミング方法に関する提案が必要です。これを判断する方法は他にもありますが (トラフィックをスニッフィングして、キープアライブ パケットが送信されているかどうかを確認するなど)、すべて不確実性があります。また、多くのサーバーと多くのアプリケーションについて話しています。