PRB: recv() w/MSG_PEEK Always Returns Wrong Buffer SizeLast reviewed: March 24, 1997Article ID: Q140263 |
The information in this article applies to:
SYMPTOMSAn Application that uses the Winsock 1.1 call recv(..., MSG_PEEK) repeatedly, will always receive the amount of data as in the first call. This amount only changes when you call recv without MSG_PEEK.
CAUSEThis is the result of a performance optimization within AFD.SYS.
RESOLUTIONrecv() with MSG_PEEK should generally be avoided. It is a very inefficient way to retrieve data and definitely not recommended if you care about performance. A much better solution would be to simply receive the data into user buffers and use it directly from there.
STATUSThis behavior is by design. |
Keywords : kbnetwork kbtshoot NtwkMisc
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |