Why do not my sockets close?
Answer / chaitanya
When you issue the close() system call, you are closing your interface to the socket, not the socket itself. It is up to the kernel to close the socket. Sometimes, for really technical reasons, the socket is kept alive for a few minutes after you close it. It is normal, for example for the socket to go into a TIME_WAIT state, on the server side, for a few minutes. People have reported ranges from 20 seconds to 4 minutes to me. The official standard says that it should be 4 minutes. On my Linux system it is about 2 minutes. This is explained in great detail in ``2.7 Please explain the TIME_WAIT state.''.
| Is This Answer Correct ? | 0 Yes | 0 No |
How can I be sure that UDP messages are received in order?
Why does it take so long to detect that the peer died?
What exactly is a socket?
If bind() fails, what should I do with the socket descriptor?
What pieces of information make up a socket?
Why do I keep getting EINTR from the socket calls?
How can my client work through a firewall/proxy server?
How do Sockets Work?
When should I use UDP instead of TCP?
Can multiple sockets use the same port?
Why do I get EPROTO from read()?
What does af mean in sockets?