Мисля, че вместо това трябва да конфигурирате операционната си система. Промяната на параметрите за поддържане на активност от програми все още не се поддържа широко. Това трябва да ви помогне:
Използване на TCP keepalive за откриване на мрежови грешки
Също така вашите параметри са избрани лошо. Ако tcp_keepalives_count=1
работи, тогава дори един загубен пакет за поддържане на активността ще прекъсне връзката ви. И единичните пакети често се губят. Бих използвал следното в /etc/sysctl.conf
на MacOSX/FreeBSD:
net.inet.tcp.keepidle =60000
net.inet.tcp.keepintvl =10000
ОС след това ще прекъсне връзките за най-много 140 секунди (60 секунди неактивен + 8 пакета за поддържане на активност през интервали от 10 секунди) след загуба на връзка.