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