TCP issue with large packet under RTEMS

Eric Norum wenorum at lbl.gov
Wed Feb 9 17:41:06 UTC 2011


On Feb 9, 2011, at 9:26 AM, Yann Sionneau wrote:

> Hi Joao,
> 
> The fact that recv() can return before receiving everything you expect, and is non-blocking, is the standard way of functionning for recv().
> 
> This is the POSIX way, if you do man recv on a Linux system for example you will see that this behaviour is documented.
> 
> This is the correct behaviour of recv(), you have to run it inside a loop if you want to be sure to receive all the data you need.
> 
> On Linux there is a flag MSG_WAITALL that you can pass to recv() to make it wait untill it receives the amount of data you tell him to get. I don't know if it is implemented in RTEMS TCP/IP protocol stack.

Yes, I believe that it is.

-- 
Eric Norum
wenorum at lbl.gov





More information about the users mailing list