I understand that UDP is considered "unreliable" in the sense that
there is no way to track a UDP packet that it will indeed arrive to the
other side, and that when sending few packets, they might not get to the
other side in the order which is wished.
About the second part (order of packets arriving might be
corrupted) - let's say I have a server which uses recvfrom() to block, and
waits for some data to arrive.
The other side sends a buffer with 4k length to that server using
sendto() - does that mean that this buffer might be splitted into
two udp packets, and that the other side might get the wrong part of the
Or is UDP not THAT unreliable, and if I use sendto() and other
side uses recvfrom() - and it indeed receives SOME data, it is guranteed
that it is exactly that 4k buffer as I sent it (meaning - one UDP packet
contains the whole buffer).
And another thing is - how can I know what is the maximum size of
buffer I can use with sendto() and recvfrom() for sending data (if
indeed one sendto() with a buffer is sent in a single udp packet)?
Please e-mail me if possible, in addition to the newsgroup post.