title: timeout in a TCP connection with no exchange of data
body: <p>I have a C/C++ application for a TCP client and server in Linux. </p>
  
  <p>Suppose that after the TCP connection is in place, neither the server nor the client sends any data at all for huge amount of time. They do not even send any heartbeat each other.</p>
  
  <p>By TCP protocol, how long the connectivity is supposed to be in place?</p>
  
  <p>Does the connection drop due to inactivity?</p>
  
  <p>If so is there any socket option where I can specify or define any kind of timeout behaviour?</p>