How can I be sure that a UDP message is received?

  You have to design your protocol to expect a confirmation back from
  the destination when a message is received.  Of course is the
  confirmation is sent by UDP, then it too is unreliable and may not
  make it back to the sender.  If the sender does not get confirmation
  back by a certain time, it will have to re-transmit the message, maybe
  more than once.  Now the receiver has a problem because it may have
  already received the message, so some way of dropping duplicates is
  required.  Most protocols use a message numbering scheme so that the
  receiver can tell that it has already processed this message and
  return another confirmation.  Confirmations will also have to
  reference the message number so that the sender can tell which message
  is being confirmed.  Confused?  That's why I stick with TCP.
Suggest a Site