Ïîêàçàòü ñîîáùåíèå îòäåëüíî
  #5  
Ñòàðûé 29.03.2013, 12:30
Janom Janom âíå ôîðóìà
Íà÷èíàþùèé
 
Ðåãèñòðàöèÿ: 04.02.2011
Àäðåñ: Ìîñêâà
Ñîîáùåíèÿ: 148
Âåðñèÿ Delphi: 7
Ðåïóòàöèÿ: 133
Ïî óìîë÷àíèþ

Ëàäíî, ñ ýòèì ÿñíî, íà WinSock API ðåàëèçîâàë... òîëüêî òåïåðü òàêàÿ ëàæà: Exception class EJPEG with message "JPEG error #53" íèêàê íå ïîéìó ãäå êîñÿê, äàííûå âðîäå ïîëíûå ñîáèðàþ... Âîò ÷åðíîâèê âñåãî ýòîãî áåçîáðàçèÿ
Êîä:
procedure TForm1.Button1Click(Sender: TObject);
Const
  C_WORD:Cardinal = 65536;
var
  sock: TSocket;
  buf: array [0..65535] of Char;
  tmp,S: String;
  RcvLen: Integer;
  host: PHostEnt;
  addr: sockaddr_in;
  ip: pInteger;
  d: WSAData;
  Start,Finish:Cardinal;
  Jpg:TJpegImage;
  f:boolean;
  mem:tmemorystream;
  z:cardinal;
  sX:Cardinal;
begin
  mem:=tmemorystream.Create; //nicaa?i iioie
  jpg:=tjpegimage.create; //nicaa?i eaa?
  f:=false; // Aiiieieoaeuiue oeaa
  z:=100;//High(Z);
  WSAStartup($0101, d);
  //
  sock := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  //
  host := gethostbyname('192.168.0.90');
  ip := pInteger(host.h_addr_list^);
  //
  addr.sin_family := AF_INET;
  addr.sin_port := htons(80);
  addr.sin_addr.S_addr := ip^;
  //
  connect(sock, addr, sizeof(addr));
  //
  tmp := 'GET /mjpg/video.mjpg HTTP/1.1'+#13+#10+'Authorization: Basic ' + encodestring('admin:admin')+#13+#10+#13+#10;
  send(sock, tmp[1], length(tmp), 0);
  tmp := '';
  //
  ZeroMemory(@buf, C_WORD);
  RcvLen := recv(Sock, buf, C_WORD, 0);
  while RcvLen > 0 do begin
    //
    Tmp := Tmp + Copy(buf, 0, RcvLen);
    RcvLen  := recv(sock, buf, C_WORD, 0);
    s:='';
    start:=pos('ÿØÿà',tmp);//FFD8
    if start>0 then
      begin
        if start>1 then delete(tmp,1,start-1);
        finish:=pos('--myboundary',tmp);
        if finish>0 then
          begin
            s:=Copy(tmp,1,finish-1);
            delete(tmp,1,finish+5);
            //if length(s)<5 then s:='';
          end;
      end;
    if s<>'' then
      begin
        mem.Clear;
        mem.Write(s[1],length(s)); 
        mem.Position := 0;
        jpg.LoadFromStream(mem);
        Image.Canvas.Lock;
          try
            application.processmessages;
            Image.Picture.Bitmap.assign(JPG); 
          finally
            Image.Canvas.Unlock;
          end;
      end;
    dec(z);
    if z=0 then break;
  end;
  Memo1.Text := Tmp;
  WSACleanup();
  mem.Free;
  jpg.Free;
end;
À âîò ÷òî ïðèõîäèò:
Öèòàòà:
HTTP/1.0 200 OK
Cache-Control: no-cache
Pragma: no-cache
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Connection: close
Content-Type: multipart/x-mixed-replace; boundary=--myboundary

--myboundary
Content-Type: image/jpeg
Content-Length: 36001

ÿØÿàãµ £Ê“Î:8öõ«D{SH Ž
¹ÜqHW#¡ëIUŒy§¸ôü*VO§4X.E´çùSJñÀâ¥ÛÆz
k^¬3Hdd{PGCëNÞÝGo~‚“l¤çåOÖ�
óÒ¡‘âÁ\äžËÉ©¼•nX³ÿhoÝ�I%Ïvfôõ4íBú*Àhº42\>v¶Ì™Ï \ŸRz“€=€¨·§†í$…[ÏÔîô8fúžÕ–HQ�ÀÅuBŠŽ³ûŒ'W°Ë‰¤¸¿3ÌÛ¤dÁ>Ùà}*&9Í s?_àΑ?--myboundary
Content-Type: image/jpeg
Content-Length: 35944

ÿØÿàt#$v£(PH¥ U’D*¥Ó/ðÈ2>¿ç50ëÒ¢Ÿ(^~F--myboundary
Content-Type: image/jpeg
Content-Length: 35951

ÿØÿàÉ!A²é—´ƒ#ëþsSwéQO” /?# ý?Îjr--myboundary
Content-Type: image/jpeg
Content-Length: 35997

ÿØÿà* ‘·j�guªÚÔæÙ?xòG�JCÝ#ã®rk3Liî®…¸�A;’â2Œ1ìjŠK K�É£
$S±õ«$�2·L£îÈ2>¿ç5?~•ù@’�á`?ÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35958

ÿØÿà€Nô¹Œ£ {‡%rÒV¹ÐŒž?£(POjv>µd*)tË�–A‘õÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35997

ÿØÿàjŸ¼w� ”†5Ý#ã®rk3Liî§V s‚w%ÄecØÔ9jRJ×:“F8ÌŒcp?/äjì½eTÁ-÷y?�Aär3/+µÙ9 䃃Œuµ“2‹åÔ}¤³Í½Í·Ùæþ(ÃîèjqÛŠfiAsZ#7¨;n‘c»�Ð týjaÚ«Äw”ÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35965

ÿØÿà¦4÷W
UncPN丌£ }jµ²)-.t#4c¥ ’)Ä}jÉ!@Vå—´ƒ?�ùÍMß§µE>Sd£øôÿL?\KmFèm†¦õ>ç½mÅ ¾‡¦É=Ãòù¤Ï,ǰüx)8êŠåæ+è:ý¦¹§‹?Ýc•É¡fÃFã¨#µjõï^ m,òi—)«éï%ÉûL2¯ï$Lñ¸7×ñ®ÛOÖ*/!VO�÷B0ET*ž±3ÕdfªM“'š>ã}ñè}je¹„ÿ--myboundary
Content-Type: image/jpeg
Content-Length: 36015

ÿØÿàÞ“h9ëE‡r6ã“Ò*iqÅVÖ§6©ûÇ’<‚RÆép&³4ÆžêáX-Äj Þ—”a�cPä®RZ\èF}¨ÇJ)Hõd‘ )tËü2 �¯ùÍMߦ;TSåJ?�‡åþsS�'�דLãÚ��j`|ÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35807

ÿØÿàAiùä;w'è;×"M»#¿bZÍÔ5?*7G
‰¦uùTûÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35935

ÿØÿà$t4¸d ÙrËÙÆG×üæ¦ïÒ¢Ÿ(_î0ü¿Îjr--myboundary
Content-Type: image/jpeg
Content-Length: 35968

ÿØÿà÷W
Án#PN丌£ÀÔ9-‹IZçB3F8.Hâ>µd )tË�–AŸÇüæ§ïéQO”Ù/÷ôÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35944

ÿØÿà�*Y(6\°ìã?�ùÍN:ô¨§Êl—ûŒúœÔäÏAõ¦!¸àqNÁô¦Ïú µ,}O—fâ|ÆÝì:Ryƒ8A¼ût§Ürç>Š8¸ý)GH–MÁÐi*ºÉ} ?ŠçU€=koE“t2¡þóÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35871

ÿØÿà"ï>Ý8&ã—9ÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35910

ÿØÿàà ÏãþsScŸJŠ|¦ÉF~F—ùÍN@žÖ?†öS€ëÅ3~ïõj[Üð(Ù¸Ÿ1·{” _0o>Ý8&ã—9ôQÀ£…Ž7A«Wñ¯6–i4Ë”Ö4÷’å†~Ó «ûÉ<n�ãÛ¯ã]¶Ÿ¬Ú^B>CÝÁR‚z㡤EUš/&O4}ÆûãÐúÔËu tqN2ÄÃ�J…x½‰i=?1ëQ”Áü*ExѼ¦?/ðž*RÐçï~†¯S=JåqéùPWã2ùmÐøR2®~ëªár3À¨ùVÏXóì jfç¤MHÊÅqå æÿ--myboundary
Content-Type: image/jpeg
Content-Length: 36009

ÿØÿà@õ4mÏ* ‘±ÀÉéP4£8â«kS›UýãÈ™¤1ŒÉ&:áG&³4ÆžêáH[?Ô¹.#(ÃÆ¡É\¤´¹ÐŒš1Ò…â”�ïVI
—L¿Ã ÏãþsScž?¨§Ê”gä`?󚜀9è>´Ä78§íLŸõjXúž7æ6ïnÔ _0o>£*§,rüú(àP°«Ì¯ýÐ;ú~tËÝ2VŠ+{)™µ{--myboundary
Content-Type: image/jpeg
Content-Length: 35943

ÿØÿàÞ—”a�cPåФ•®t#éF:P*‘JGÖ¬’$.™{H3øÿõ¹ vú›$÷Èæ�ufôÈP¤ã©\¼Å}_´×4ñq,R!),,pѸê=+WñæÒ Í&™ršÆŸ$—,ûL2/ï$Lñ¸7éœþ5ÛiúÍ¥Ü!“ä=ÐŒU('¬HwF‘\ÕY¢òdóWî1ùǧ½L·P žŽ?*q–&Ü>Õ ™=‰it hÅFSð©ãFò?�¿Âyü©KCž¿¡«ÔÏR¹^1ÅÆx©—Ën™?… ¨Ÿʪár¹ž)‡(Ùþ<û?ú?þTŒ¬T�(`ðw7ÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35892

ÿØÿàúS7îÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35920

ÿØÿàG×üæ§ÁÏLTSåKÏÈÃ?NÿÕËr¾ƒ¯Úkšxž6X¥F1Í 4n:‚;V¯ã^m$Òi—)¬iòKrÀ´Ã"þòDÏ€ãpéœþ5ÛiúÕ¥ä!“ä=Ð ŒU('ïD‡tiš«4^Lžhÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35972

ÿØÿàžêáH[?Ô½.#(ÃÆ¡É\´•®t#4c�BäŠR½YH6\²ÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35954

ÿØÿàqFö5Z”’µÎ„fŒt¡A=iHúÕ’B€¥Ë.8�gñÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35985

ÿØÿàãŠ**\Týãºd�ƹ‘ñ×
95™¦4÷W
Án#PNô¸Œ£ÀÔ9jRZ\èFhÇ…Žôâ>µd�*)tËü2 þ?ç569銊|*IyùXgéþsS�$ð>´Àn=©ÀJ`|ýÀXúž7¬mÞݨ wƒÄcyöéN »—9ôQÀ£--myboundary
Content-Type: image/jpeg
Content-Length: 36015

ÿØÿàpqO#ÜÒmÎzÑaÜ�ºr*�gUmjslŸ¼w� ”†0ZGÇ\(äÖf?ÓÝ\+¸�A;Òâ2Œ1ìj•ìU•®t#4c¥
ƒN"¬’Ê]2ãå�d}Îj|sÓù@’óò0éþsS�'�õ¦qíNÝW™_û*vôüê;Ý2V Š;{)Ùµ{--myboundary
Content-Type: image/jpeg
Content-Length: 35989

ÿØÿàÎ8ëUµ©Íª~ñÞ<‚RÔ´�ޏQɬÍ1§º¸V s‚w¥ÌecÚ¡ËRÒV¹ÐŒûQŽ”.H§õ« …K¦_á�gñÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35990

ÿØÿàøë…šÌÓâêáH¨'r\FQ†=ª•ÊKK�ÍéB‚E.½Y$H6]2ö�gñÿòñÉ�=Ç8çµYÓí¦ÓbÄ[Qºa‡¼+ÜŸö�zÛ†;}M’{‡ä
ÓI݉ì?�¡I*Jåæ+è:ý¦¹§‰ãeŠT;&…Ž7A«W¯zói&“LºM_O’K– ûL2/ï$Lñ¸7lçõÛiúÕ¥ä!“ä=ÔŒU('¬HzdfªM“'š>ãœz{ÔËu SŒ±0#p#½Bæ‹Ø–“Ø€Ä*2??…H¯må1ù€óùR–‡=CW©ž¥r¼cŠ6 ã'2ùmÐøR2¨<)5W �‘œQr�ž6±çØÔçž‘1ǵ#+#Ê<Íÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35975

ÿØÿàµOÞ<‰�JCÝ$?ë…šÌÓ{›…e[?Ô½.#(ÃÆ¡ËR¬*s¡?�àP¹"œGÖ¬’.™@âAŸÇüæ§ïQO”Ù(þ úœÔäÉà}i?n:qN¯Íùÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35982

ÿØÿà›Týãºd�Æ ‘ñ×
95™¦4÷W
Ê·¨'r\FQ†=�G2½‹KK�É£(PHïJGÖ¬‚$.™†A‘õÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35944

ÿØÿàdüÎja×ÓµE>P$Ã?#Ëüæ§ “À÷4Ä7t§¤Ö¨«\¯*ëöšæž.#uŠT;&…Ž7A«Wñ¯6’i4Ë”Õô÷’ å†~Ó «ûÉ<n�ÃÛ9ǽvÚ~µiydù9B0ET¡}bCº4ÈÍT–/&O5~ã}ñéïS-Ô-ücò§ba�ÀƒíP¹—BZ]1ëLdþTõxãc—øO?•+<$õý
^¦z•ÊñŽ(ÛŒñùTËå·@OáHê¹á[òª¸\„Œð*.Q³‘µ�>ƬzDÆšÁŠ‘å
§ƒ–ÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35993

ÿØÿà$?ë…šÌÓ{«…!n#PNô¸Œ£ {ŽdRZ\èFNzsF:P¹#¿áJ@÷«$‰K–_áqŸÇüæ¦ïÓù@’ŒüŒáßú ÔäÏAõ¦!½ºS€=qLß»ýZ–÷<
6nÉ‘·{” _0o>£*§Ürç>€p(Àã¬yî9Ç=ªÎŸm.›¹–"Ú�ÐÛ =á_Sî{ÖÜQÛèzl“Ü? nšLòÌ{Ç�B“ލ|·+è:ý¦¹§‹?ØE*1I¡c†�ÇPGjÕükÍ¥™ôË”Õô÷’ å€?i†Eý䉞7ÆáÏ®í´ýjÒòSä=ÐŒbªPOX�î�"*¬±y2y£ý[}ñéïS-Ô-ÑÇåNó"a�ÀƒíP¹—BZObŒTe1R+Ç?ü¿Â¥)hs÷¿CW©ž¥r¸¿*6 ã<TËå·LŸÂ‘•AÎÒ
«…ÈH$à‹”bxÚÇŸcSžzDÆ‘ƒÇ”0x;›ÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35970

ÿØÿàî‘ñ×
95™¦4÷W
BÜF*�éqFö5Jö--.t#&Œt¡rE)õ« ‰˦_á�gñÿ°_—ޱç¸çÕ�>Úm2!q,Eµ¡¶{¾þç½mþ‡¦É=Ãò ù¤Ï,ǰüx)8êŠQæ+è:ý®¹§‹„a¨vM œ4n:‚;V¯ã^m$Òi—)¬iï%Ë--myboundary
Content-Type: image/jpeg
Content-Length: 36029

ÿØÿàÀ§J¾LË/ð±ÃT¤c<ãš,+‘
8P)p@§�=M&Ð}h°îFÆ*iqÇZ**Nm“÷�$y¤1©ip&³4Ƹº¸V q‚w¥ÄecØÔ9k¡VV¹ÐŒÑŽ”('Ö”�¨â¬’$.™qòÈ3øÿÑ̤6©p™� ƒŸ%;(÷þ¿…�»Ù¦Z
*Ôý¢ævwUæWþè€ý?:eî™+Es³jö--myboundary
Content-Type: image/jpeg
Content-Length: 35988

ÿØÿà�gUmjsjŸ¼wL‚RÔ™p£“YšcOup¬æ5ïK?Ê0DZ¨rÖÅ$ *s*æ—(PH¥ÇÖ¬’.YqòÈ3øÿ--myboundary
Content-Type: image/jpeg
Content-Length: 35965

ÿØÿàcOup¤ ?Ô½.#(ÃÆ¡Ë[–—:š1҅ɤz²H�lºeþóš?uéQO” (q€ü?ÎjrΟm6›¸–"Ú�ÐÛ =L+ê}ÏzÛ†;}M’{†ä
ÓH,Þƒù
œu+—?¯*ëöšæž.#a¨Å&…Î7A¥jõî+ͤ™ôË”Õôù$¹ ´Ã*þòDÏ€ãpöëø×m§ëV—pO�ã”#UJ ëѤEUš/&O5~ã}ñéïS-Ô-ÑÅ8Ë nj…ͱ-+h@ÑŠaLt§«ÇyL~_á<þT¬Ð“÷¿CW©ž¥}¼v£n3ÅL¾[tþŒªv“øU\.BA<T_qÉãk}�X>Ñ7ÖV*G”0zå¿úÕI�9Å!_œ »�ØØÈ�GçKŽÄ“ô§p" ó“Í7iäTÇo?)üM0…Èùò§p!8¹>ôÒFþ9'ÓÚš~†‹åY¢ypT lt9F<óJ¾d¨:¨9 È=úÔÇ"¡aäÊ_¢H~ocØÑ`¸Á?3úš6ªçjŒý*LsÇjn:Q`¸Â*&=é çéMÆ+ã0}¿*Nr)äu$~cðí@\…ã!Sߥ2"Z,7ÞN
X#ŽzT/•8“+ü*ì{R �#'ÖŒzS?ÇQH@ç´--myboundary
Content-Type: image/jpeg
Content-Length: 35934

ÿØÿà-JKK�Î(ÇJ)H«$…K¦^Ò þ?ç5>9éQO”Ù/?#Ëüæ§ OëLCqíNÇ^)›óþ*KSÀ¥Ù»ýcnö(y€ðƒyöéJ±Ëœú(àRà--myboundary
Content-Type: image/jpeg
Content-Length: 36039

ÿØÿàJAóE‚äJ�G
.)äzM*ç* ‘·E@Ò ãŠ**NmS÷Žé�JC-$?ë…šÌÓ{«…`·¨'z\FQ†=�C’¾…¤*s¡£(\‘ÒœWëVA

—L½¤üÎja×Ò¢Ÿ)²_î°‡ùÍN@'�דLC
pÒ™¿wúµ-îxlÜO?Û½‡J/™žn>£¥;fã—9ÿõü)6ïf—h4«_ô‹™Ø ÝW™_û*vÓ·çL½Ó%h¢‚ÊvmbÀ c`¹^:ÇžãœsÚ¬éöÓi‘ ‰b-¨Ý.Øaï
÷'ý£Þ¶âŽßCÓdžáÆ@Ý4™å?ö‰À¡I*Q\·+è:ý¦¹§‹?ØE"“BÇ
Ž*ŽÕ«ø×›I4šeÒjú|’ܰí0H¿¼‘3Æà8Ü9úþ5ÛiúÕ¥ä!“ä=ÐŽET ¡}bCÐÓ#5RX¼™<Ñ÷ï�Oz™n¡=SŒ±0ÆàAö¨WObZOb?{Te*Exão )�ËüŸÊ”¼9ûß¡«ÔÏR¹^1FÜgŠ™|¶à
F žª® ž*3”|ÿ--myboundary
Content-Type: image/jpeg
Content-Length: 36026

Îòâåòèòü ñ öèòèðîâàíèåì