Explain the TIME_WAIT state.
Answer / chaitanya
Remember that TCP guarantees all data transmitted will be delivered, if at all possible. When you close a socket, the server goes into a TIME_WAIT state, just to be really really sure that all the data has gone through. When a socket is closed, both sides agree by sending messages to each other that they will send no more data. This, it seemed to me was good enough, and after the handshaking is done, the socket should be closed. The problem is two-fold. First, there is no way to be sure that the last ack was communicated successfully. Second, there may be "wandering duplicates" left on the net that must be dealt with if they are delivered.
| Is This Answer Correct ? | 1 Yes | 0 No |
What are the types of sockets?
How should I choose a port number for my server?
What is the difference between connected and unconnected sockets?
What is af_inet in socket?
What's the difference between a socket and a port?
How can my client work through a firewall/proxy server?
What is difference between socket () and serversocket () class?
Is a socket a file?
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?
How do I convert a string into an internet address?
How can I tell when a socket is closed on the other end?
How many sockets can a cpu have?