title: Why IOCP is used?
body: <p>I am trying to understand why IOCP is used. I can think of two reasons:</p>
  
  <ul>
  <li>Since <code>WSARecv()</code> will not block, then I can handle 1000s of clients without having to create a new thread for each client (also, there is a limit on how many threads you can create, and so the number of clients you can handle will be limited).</li>
  <li>Since <code>WSASend()</code> will not block, then when I want to send a large file, I don't have to create a new thread to send it (if I did not create a new thread then the UI thread will block of course).</li>
  </ul>
  
  <p>What other reasons are there to use IOCP?</p>