Как это сделать если нету content-length ? Я пытаюсь примерно так: Код (Text): .................................................................. rec=0;acum=0; for(;;) { rec=recv(s,Sr,1024*1024,0); Sr+=rec; acum=acum+rec; if(rec==0){Sr-=acum;break;} }//гружу картинку closesocket(s); alen=(strlen(Sr)-strlen(strstr(Sr,"\r\n\r\n")))+4; Sr+=alen;//отрезаю http заголовок Graphics::TBitmap * Bitmap = new Graphics::TBitmap; TJPEGImage * examp = new TJPEGImage; TMemoryStream *stM = new TMemoryStream; br=acum-alen;//вычисляю размер картинки memcpy(img,Sr,br);//копирую её во временный буфер stM->Read(img,br); examp->LoadFromStream(stM);//а тут ошибка 42 Bitmap->Assign(examp); PaintBox1->Canvas->Draw(59,59,Bitmap); delete examp; delete Bitmap; delete stM; Sr-=alen; .................................................................... но получается некорректный набор байт.Даже если сохранить на диск то нечитается.
Что ни у кого нет никаких идей?Помогите плз мне косяк найти Смотрел сниффером картинка 1405 байт но в моем коде расчет происходит как 1417 байт.Откудого могут быть левые 12 байт???
Качество исходника - жуть. Прокомментируйте нормально код, разделите его на логические блоки, тогда и ошибка сразу же очевидной станет.