Answer Posted / 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 |
Post New Answer View All Answers
What is a socket connection?
How can I set the timeout for the connect() system call?
What is a sae socket?
What is a socket set used for?
What's the difference between a socket and a port?
What is difference between socket () and serversocket () class?
Is a socket a file?
How does unix socket work?
What is a socket address?
How can I force a socket to send the data in its buffer?
What is the difference between a socket and a port?
How does a socket work?
system choose one for me on the connect() call? Should I bind() a port number in my client program, or let the?
How can I tell when a socket is closed on the other end?
Why does it take so long to detect that the peer died?