> > while (nLeft > 0) > { > ReadFile(hFile, SendBuf, nBytesToRead, > &nBytesRead, NULL) ; > ret = sendto(SendSocket, > SendBuf, > BufLen, > 0, > (SOCKADDR *) &RecvAddr, > sizeof(RecvAddr)); > nLeft -= ret; > } Помоему лучше считывать данные в большой буфер и его скармливать в sendto далее смещать адрдес буфера на размер переданных данных. Это вопервых сократит вызовы ReadFile на порядок и позволит стеку самому выбирать размер отправляемого в сеть сегмента.
|