title: Does TCP send a SYN/ACK on every packet or only on the first connection?
body: <p>I have a TCP server that listens for an incoming client, then sends it one packet of data every second. I was wondering, does the SYN/ACK packet only get sent on initial connection, so it looks like this:</p>
  
  <pre><code>&lt;client connect&gt;
  SYN
  ACK
  DATA
  DATA
  DATA
  &lt;client disconnect&gt;
  </code></pre>
  
  <p>Or does it get sent with every packet, like this?</p>
  
  <pre><code>&lt;client connect&gt;
  SYN
  ACK
  DATA
  
  SYN
  ACK
  DATA
  
  SYN
  ACK
  DATA
  &lt;client disconnect&gt;
  </code></pre>
  
  <p>Also, if it's the first case, are there any benefits of UDP over TCP if you just keep the connection open over a long period of time?</p>