私の Python スクリプトでは、次のコマンドを使用して TCP キープアライブを有効にしました。
x = s.setsockopt( socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
私の目標は、5分間送信(*)がない場合、ソケット接続が閉じられることです。私は Windows で作業していますが、私の python スクリプトはクライアント プログラムにデータを送信するだけで受信していません。
私が知っていることは、デフォルトでは、2 時間送信がない場合、try と except を使用して接続を閉じることができるのは私だけです。Windowsの場合、レジストリに移動することで、この待機時間を手動で短縮できます。しかし、スクリプトから変更できる方法はありますか?
(*) ここでの「送信しない」とは、「何も送信しようとしていない」というよりも、「何かがネットワーク上で静かにパケットを消費している」ことを意味します。