InterviewSolution
| 1. |
What Exactly Does So_keepalive Do? |
|
Answer» 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. 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. |
|