I've found that after receiving several hundred MB of data using Recv(), it will eventually fails with the error "EAGAIN".
But according to the autodocs:
"If no messages are available at the socket, the receive call waits for a message to arrive, unless the socket is nonblocking (see IoctlSocket()) in which case the value -1 is returned and the external variable errno set to EAGAIN."
(This is basically repeating what's said at
https://linux.die.net/man/2/recvmsg )
And no, I never enable "FIONBIO" (non-blocking mode) !
I thought this was a Roadshow bug, but it seems that once EAGAIN occurs, calling Recv() again doesn't help (as fails again).
Could this be a network driver bug (or network card issue), rather than a bug in my code? (I can't see where I could be at fault.)
Edited by ChrisH on 2018/7/10 7:23:55
Edited by ChrisH on 2018/7/10 7:24:32
Edited by ChrisH on 2018/7/16 18:48:22