Короче проблема в следующем - если локально читаю файл и в цикле по 10 байт посылаю, то все работает, но уж очень долго, если считывать большее количество байт (следовательно и посылать большее), то почему - то когда принимаю (клиентом), то приходит не все содержимое файла, аналогично с заменой задержки (sleep). В чем проблема, а может это из - за того, что я пробую это локально?
Помогите... hFile:=CreateFile(name, GENERIC_READ, 0, nil, OPEN_EXISTING, 0, 0); len:=GetFileSize(hFile, nil); c:=len; while c>0 do begin ReadFile(hFile,buf,10,Bytes,nil); if(Bytes>0)then begin send(sock, buf, Bytes, 0); ZeroMemory(@buf, sizeof(buf)); Sleep(40); dec(c, Bytes); end; end; CloseHandle(hFile); |
Вопрос: что происходит на самой последней итерации цикла, когда c > 0, но c < длины блока?
|
Время: 22:40. |
Время: 22:40.
© OSzone.net 2001-