Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Socket.Sendstream (Tmemory Stream Verschicken) (https://www.delphipraxis.net/81920-socket-sendstream-tmemory-stream-verschicken.html)

Real_Thunder 5. Dez 2006 11:15


Socket.Sendstream (Tmemory Stream Verschicken)
 
Hallo, ich habe folgenes problem:

Ich grabbe ein Bild von meiner webcam.... dieses Wird dann in ein Bitma geschrieben...
nun soll auch knopfdruck das bild in ein Memorystream Geschrieben werden..
und dieser Stream Soll dann auch gesendet werden..

Das problem ist das beim Empfänger kein onread ereignis ausgelöst wird...
aso er dementsprechen den stream nicht sendet.

das bild wird in den stream geschrieben, allerdings nicht versendet.
Streamgröße > 0 (57654);

Sender:
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var strlen: int64;
begin
  sm:=TMemoryStream.Create;
  memo1.Lines.Add('Packe Bild in Stream');
  changebmp1.SaveToStream(sm);
  strlen:=sm.Size;
  memo1.Lines.Add('Streamlänge: '+inttostr(strlen));
  memo1.Lines.Add('Versende Stream');
  serversocket1.Socket.Connections[0].SendStream(sm);
end;
Empfänger:
Delphi-Quellcode:
procedure TForm3.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
var
  iLen: Integer;
  Bfr: Pointer;
begin
memo1.Lines.Add('Empfange Stream');
  iLen := Socket.ReceiveLength;
  GetMem(Bfr, iLen);
  try
    Socket.ReceiveBuf(Bfr^, iLen);
    MyStream.Write(Bfr^, iLen);
  finally
    image1.Picture.Bitmap.LoadFromStream(MyStream);
    FreeMem(Bfr);
  end;
end;
für hilfe währe ich dankbar
MfG Real Thunder


Edit:
Habe vergessen die Position wieder auf 0 zu setzten
also
Delphi-Quellcode:
sm.position:=0;


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:04 Uhr.

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