Андрей, а к чему такая секретность? Вопрос то интересный.
Таймаут, а вернее период отправки keepalive, меняется с помощью того же setsockopt только для TCP:
int on = 1;
setsockopt( sockfd, SOL_SOCKET, SO_KEEPALIVE, &on, sizeof(on));
// keep alive каждые 10 сек.
int TCP_RECON_TIME = 10;
setsockopt( sockfd, IPPROTO_TCP, TCP_KEEPALIVE, &TCP_RECON_TIME, sizeof(TCP_RECON_TIME));
А вот именно ТАЙМАУТ keepalive (время, через которое соединение не получающее ответов на "пинги" keepalive считается разорванным) в 4.25/4.25 изменить нельзя. Экспериментально у меня получилось 10 минут.
Поправьте, если не прав.