Myslím, že místo toho musíte nakonfigurovat operační systém. Změna parametrů udržování pomocí programů zatím není široce podporována. To by vám mělo pomoci:
Použití TCP keepalive k detekci síťových chyb
Také vaše parametry jsou špatně zvolené. Pokud tcp_keepalives_count=1
fungoval, pak i jeden ztracený udržovací paket přeruší vaše připojení. A jednotlivé pakety se často ztrácejí. V /etc/sysctl.conf
bych použil následující na MacOSX/FreeBSD:
net.inet.tcp.keepidle =60000
net.inet.tcp.keepintvl =10000
OS pak přeruší připojení na maximálně 140 sekund (60 sekund nečinnosti + 8 udržovacích paketů v 10sekundových intervalech) po ztrátě připojení.