title: Concurrent UDP connection limit in C/C++
body: <p>I wrote a <code>server in c</code> which receive <code>UDP</code> data from client in port <code>X</code>. I have used <code>Epoll(non block)</code> socket for <code>UDP</code> listening and has only one thread as worker. Pseudo code is following:</p>
  
  <pre><code>on_data_receive(socket){
      process(); //take 2-4 millisecond
      send_response(socket);
  } 
  </code></pre>
  
  <p>But when I send <code>5000 concurrent</code> (using thread) request server miss <code>5-10%</code> request. on_data_receive() never called for 5-10% request. I am testing in local network so you can assume there is no packet loss. My question is why on_data_receive didn't call for some request? What is the connection limit for socket? With the increase of concurrent request loss ratio also increase. </p>
  
  <p><strong>Note: I used random sleep upto 200 millisecond before sending the request to server.</strong> </p>