Packets Stay Whole

An application sends three separate UDP datagrams of 100, 200, and 300 bytes. How does the receiving application receive them?

A

The order and grouping are undefined: bytes may arrive in any combination

B

As a single 600-byte stream that the application must parse into individual messages

C

As three separate recv() calls returning exactly 100, 200, and 300 bytes respectively, preserving message boundaries

D

As six 100-byte chunks due to UDP's internal fragmentation