Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy TCPClient + MMS-Protokoll (https://www.delphipraxis.net/26184-indy-tcpclient-mms-protokoll.html)

tuxic 19. Jul 2004 20:08


Indy TCPClient + MMS-Protokoll
 
Hi,
Ich benutze folgenden Code, um eine Datei über HTTP 1.0 ziehen (und nein, ich will nicht idHTTPClient benutzen ;) ):
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  send:tstringlist;
  stream:tfilestream;
begin
  stream := tfilestream.Create('d:\foo.wmv', fmCreate);
  send := tstringlist.Create;

  send.Clear;
  send.Add('GET /foobar.wmv HTTP/1.0');
  send.Add('Accept: */*');
  send.Add('User-Agent: NSPlayer/4.1.0.3928');
  send.Add('Host: localhost');
  send.Add('Pragma: no-cache,rate=1.000000,stream-time=0,stream-offset=4294967295:4294967295,request-context=4,max-duration=2147548740');
  send.Add('Pragma: xPlayStrm=1');
  send.Add('Pragma: xClientGUID={5B704FE1-EFB9-49F5-A781-1DA8B8F0A23E}');
  send.Add('Pragma: stream-switch-count=4');
  send.Add('Pragma: stream-switch-entry=ffff:2:0 ffff:3:0 ffff:4:2 ffff:5:2');

  i.Host := 'localhost';
  i.Port := 80;
  i.Connect();
  i.SendCmd(send.Text);

  i.ReadStream(stream, -1, true);

  send.Destroy;
  stream.Destroy
end;
Es handelt sich hier um das MMS-Protokoll (über HTTP). Leider erhalte ich nicht alle Daten. Ich erhalte immer nur 1.800.403 Bytes, anstatt fast 3MByte. Ausßerdem blockiert bei ca. 1,7MByte das Programm, danach kommen ein paar Daten die da aber nicht sein sollten :).

Habe ich vergessen ein Size zu setzen? Oder ist vielleicht mein Header verkehrt? Ich habe den Header mitgesnifft, als MPlayer den Stream saugte - er sollte also richtig sein.
Irgendwer eine spontane idee, was ich verkehrt gemacht habe?

MfG
Daniel


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz