What exactly does SO_KEEPALIVE do?



What exactly does SO_KEEPALIVE do?..

Answer / chaitanya

The SO_KEEPALIVE option causes a packet (called a 'keepalive probe') to be sent to the remote system if a long time (by default, more than 2 hours) passes with no other data being sent or received. This packet is designed to provoke an ACK response from the peer. This enables detection of a peer which has become unreachable (e.g. powered off or disconnected from the net).

Note that the figure of 2 hours comes from RFC1122, "Requirements for Internet Hosts". The precise value should be configurable, but I've often found this to be difficult. The only implementation I know of that allows the keepalive interval to be set per-connection is SVR4.2.

Is This Answer Correct ?    0 Yes 0 No

Post New Answer

More Unix Socket Programming Interview Questions

What is LILO?

2 Answers  


How many socket connections can a server handle?

0 Answers  


How can I put a timeout on connect()?

1 Answers  


What's the difference between a socket and a port?

0 Answers  


Why does the sockets buffer fill up sooner than expected?

0 Answers  






Why do not my sockets close?

1 Answers  


What are Sockets?

1 Answers  


How can I write a multi-homed server?

0 Answers  


Why do I get EPROTO from read()?

0 Answers  


What is difference between socket and websocket?

0 Answers  


What are raw sockets?

4 Answers   Axis Technologies,


Why do I get connection refused when the server is not running?

1 Answers  


Categories