Hi Satinder Singh,
The FNET 7.x fully supports KEEPALIVE options. And it works/tested correctly.
The FNET has four options that control TCP KEEPALIIVE behavior.
SO_KEEPALIVE, TCP_KEEPCNT, TCP_KEEPINTVL and TCP_KEEPIDLE
http://fnet.sourceforge.net/manual/group__fnet__socket_ga989481a2cee0291e70f9076a091eddf1.html#gga98...
http://fnet.sourceforge.net/manual/group__fnet__socket_ga19bc4a3a913399993d98a180df3bc447.html#gga19...
The initialization example you can find in the fnet_telnet.c:
...
/* Enable keepalive_option option. */
(setsockopt (telnet_if->socket_listen, SOL_SOCKET, SO_KEEPALIVE, (char *)&keepalive_option, sizeof(keepalive_option)) == SOCKET_ERROR) ||
/* Keepalive probe retransmit limit. */
(setsockopt (telnet_if->socket_listen, IPPROTO_TCP, TCP_KEEPCNT, (char *)&keepcnt_option, sizeof(keepcnt_option)) == SOCKET_ERROR) ||
/* Keepalive retransmit interval.*/
(setsockopt (telnet_if->socket_listen, IPPROTO_TCP, TCP_KEEPINTVL, (char *)&keepintvl_option, sizeof(keepintvl_option)) == SOCKET_ERROR) ||
/* Time between keepalive probes.*/
(setsockopt (telnet_if->socket_listen, IPPROTO_TCP, TCP_KEEPIDLE, (char *)&keepidle_option, sizeof(keepidle_option)) == SOCKET_ERROR)
...
Best regards,
Andrey Butok