On Dec 3, 2007, at 4:05 PM, Andrey Turkin wrote: > Marius Slyzius wrote: >> 2) possible bug: the server sends 1500 bytes with WsaSend ( with 2 >> WSABUFFER ) and the client receive only 1452 bytes and calls WsaRecv >> again. Also on the server, the completion port receive event that >> transferred 1452 bytes. However, the last 8 bytes are never sends nor >> completion port event arrives. Is it perhaps something to do with the >> VMWare tool where I run Ubuntu 7.10? >> > WsaSend can send partial data when operating on non-blocking socket; > from your description it looks like this is the case. Is this error > reproducible with the same numbers every run? > Your both questions are actually not about IOCP but about asynchronous > I/O support.
My brain may be misfiring, but isn't 1452 bytes a common MTU size? Are your client and server remote from one another? In that case, your client may really be receiving 1452 data bytes first, with the rest coming a (very) short while later. -Ken