Answer Posted / 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 View All Answers
Is tcp or unix socket faster?
How many socket connections can a server handle?
What are the pros/cons of select(), non-blocking I/O and SIGIO?
How many sockets can a port have?
What is a socket connection?
How to find other end of unix socket connection?
How can I tell when a socket is closed on the other end?
What exactly is a socket?
How does unix socket work?
Is socket a hardware or software?
What is the function of socket?
What is difference between socket () and serversocket () class?
What is a socket set used for?
Can a socket have multiple ports?
How do I convert a string into an internet address?