В моем python script я активировал TCP Keepalive, используя следующую команду:
x = s.setsockopt( socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
Моя цель заключается в том, что соединение сокета закрывается, если нет передачи (*) в течение 5 минут. Я работаю над Windows, и мой python script получает и не передает какие-либо данные в клиентскую программу.
Я знаю, по умолчанию, если никакая передача не будет в течение 2 часов, тогда только я могу закрыть соединение, используя try и except. Я знаю, что для окон я могу вручную уменьшить это время ожидания, перейдя в реестр. Но есть ли способ, с помощью которого я могу изменить его из моего script?
(*) здесь "без передачи" означает "что-то тихо ест пакеты в сети", а не "я ничего не пытаюсь отправить".