Link to home
Start Free TrialLog in
Avatar of odedf
odedf

asked on

Max Reommended buffer size to send using (nonblocking) WSASend

Hi ,


My server (C++ , MSVC6) using completion-port to send huge data-buffers
to the client .
till now, i was using a single call to WSASend() to send ALL the data
(single buffer , can be 10MB-100MB ) .


I noticed that if i'm using buffer-size to be ~60MB and above , the
WSASend returns error about the size .


my question is - what is the maximum buffer size that it's recommended
to send ?


As much as i understand, if i'm sending "big" buffers , the NDIS/TDI
(or other O.S component) can split them into smaller buffers so the
TCP/IP will send 8K each time , right ? so it's better to fill-up the
"lower-layer" with the maximum buffer size that it can handle .


In another words - most implementations send 8KB-16KB because this is
the "send buffer" size, but it means that the O.S will be waiting for
new buffers , maybe it's better to send 1MB just to prevent this "O.S
waiting" .


Am i right ? any ideas ?


Thanks,


ASKER CERTIFIED SOLUTION
Avatar of grg99
grg99

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of odedf
odedf

ASKER

Pls close this thread.
No answer was accepted.

Thanks
No comment has been added to this question in more than 21 days, so it is now classified as abandoned..
I will leave the following recommendation for this question in the Cleanup topic area:

Accept: grg99

Any objections should be posted here in the next 4 days. After that time, the question will be closed.

wayside
EE Cleanup Volunteer