Kevin Boyd Kevin Boyd - 1 month ago 5
HTTP Question

Does a TCP socket connection have a "keep alive"?

I have heard of HTTP keep-alive but for now I want to open a socket connection with a remote server.

Now will this socket connection remain open forever or is there a timeout limit associated with it similar to HTTP keep-alive?

Answer

TCP sockets remain open till they are closed.

That said, it's very difficult to detect a broken connection (broken, as in a router died, etc, as opposed to closed) without actually sending data, so most applications do some sort of ping/pong reaction every so often just to make sure the connection is still actually alive.