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 |
Why do we need socket programming?
Where can a get a library for programming sockets?
How do I properly close a socket?
over the socket? Is there a way to have a dynamic buffer? What does one do when one does not know how much information is coming?
What is sae socket?
What is socket programming in java?
If bind() fails, what should I do with the socket descriptor?
How can I be sure that UDP messages are received in order?
Why do I get connection refused when the server is not running?
How can I tell when a socket is closed on the other end?
What is difference between socket () and serversocket () class?
What is the difference between connected and unconnected sockets?