Re: send() failed: Message too long

From: Doru-Catalin Togea (doru-cat_at_ifi.uio.no)
Date: 07/27/04


Date: Tue, 27 Jul 2004 09:19:03 +0200

On Mon, 26 Jul 2004, Kasper Dupont wrote:

> Doru-Catalin Togea wrote:
> >
> > I did manage to send 100+KB with one
> > call, in spite of the fact that a UDP diagram is max. 1500B long, if I
> > remember correctly.
>
> Both numbers are wrong. The maximum in an IP packet
> is a litle less than 64KB. It may be fragmented if
> necesarry. On ethernet there is a 1500 bytes limit
> on each fragment.

Thanks to everyone. Indeed I remembered wrongly. The sending of the 100+KB
failed as well, it was 28+KB which worked.

> But eventhough fragmentation will let you send UDP
> packets larger than the MTU, it is not a good idea.
> If you lose one fragment the entire packet is lost.
> This means that the resources to transfer the rest
> of the fragments are essentially wasted.
>
> So you should reconsider your protocol. Of course
> the exact way to do it depends very much on how you
> want to treat lost packets.

The issue of framgmentation is interesting too. For my purposes I think I
will combine UDP with some form of idle repeat request.

Thanks again,
Catalin

-- 
        <<<< ================================== >>>>
        <<     We are what we repeatedly do.      >>
        <<  Excellence, therefore, is not an act  >>
        <<             but a habit.               >>
        <<<< ================================== >>>>


Relevant Pages