How come only the first part of my datagram is getting through?
Answer / chaitanya
This has to do with the maximum size of a datagram on the two machines involved. This depends on the sytems involved, and the MTU (Maximum Transmission Unit). According to "UNIX Network Programming", all TCP/IP implementations must support a minimum IP datagram size of 576 bytes, regardless of the MTU. Assuming a 20 byte IP header and 8 byte UDP header, this leaves 548 bytes as a safe maximum size for UDP messages. The maximum size is 65516 bytes. Some platforms support IP fragmentation which will allow datagrams to be broken up (because of MTU values) and then re-assembled on the other end, but not all implementations support this.
| Is This Answer Correct ? | 0 Yes | 0 No |
How should I choose a port number for my server?
How many socket connections can a server handle?
After the chroot(), calls to socket() are failing. Why?
What are the types of sockets?
How do I send [this] over a socket?
What are socket exceptions? What is out-of-band data?
Where can a get a library for programming sockets?
How often should I re-transmit un-acknowleged messages?
Why do I keep getting EINTR from the socket calls?
Can multiple clients connect to same socket?
Why do we need socket programming?
What exactly does SO_KEEPALIVE do?