title: How to retain one million simultaneous TCP connections?
body: <p>I am to design a server that needs to serve millions of clients that are <em>simultaneously</em> connected with the server via TCP.</p>
  
  <p>The data traffic between the server and the clients will be sparse, so bandwidth issues can be ignored.</p>
  
  <p>One important requirement is that whenever the server needs to send data to any client it should use the existing TCP connection instead of opening a new connection toward the client (because the client may be behind a firewall).</p>
  
  <p>Does anybody know how to do this, and what hardware/software is needed (at the least cost)?</p>