title: DatagramSocket.receive() is called more than once
body: <p>I am trying to receive a packet via UDP protocol.</p>
  
  <pre><code>try {
      datagramSocket = new DatagramSocket(SOCKET_PORT);
      datagramSocket.setBroadcast(true);
      while (true) {
         byte[] receiveData = new byte[1024];
         DatagramPacket packet = new DatagramPacket(receiveData, 
         receiveData.length);
         datagramSocket.receive(packet);
         //...
      }
  } catch (Exception ex) {
      ex.printStackTrace(); 
  }
  </code></pre>
  
  <p>When I send a packet from client <code>receive()</code> method is returned but on the next loop it is not blocked waiting for the next packet. It returns the same packet infinitely, but the client does not send any more packets.</p>