It solely depends on the system policy of the two ends of the connection. Since there is no way to determine whether we're not receiving data because the other end doesn't have anything to say to us or it is long gone, systems usually assume the tcp connection is broken after some time (e.g. 15 minutes) of silence. Thus tcp stacks implement something called keep-alive to notify the other end they are still there.
Bookmarks