Postby markfm » 30 Jun 2004 14:15
No guarantee. UDP is an ACK-less protocol -- the individual frames don't get ACKed by the client, the server doesn't retransmit them.
(That's a good part of what makes multicast UDP possible -- the server is opening a multimedia stream, that anyone can listen in on. The server neither knows, nor cares, who the receivers are.)
Inidividual packets have checksums. If there is a problem -- corrupted packet and/or packets arrive at the wrong time (say an individual packet went through a much longer set of router hops than the others), a frame may be dropped on the floor. Multimedia, however, is inherently fault tolerant. If you lose one or even two frames, it tends to be fairly imperceptible to the viewer.
That's why UDP is not recommended for pure data transmission -- the lack of data quality guarantees. (you can get around some of that by adding forward error correction, similar to what's done for RF, or adding other, higher level, acknowledgement type functionality, but it quickly gets to the point where you should just switch to TCP)