Einzelnen Beitrag anzeigen

fui-tak

Registriert seit: 24. Okt 2008
117 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Image per Socket verschicken

  Alt 11. Feb 2009, 13:47
Ich weiß nicht ob das dein Problem lösen wird, aber wenn ich zweimal direkt hintereinander Daten versende, wie hier:
Zitat von ermler1992:
Delphi-Quellcode:
...
procedure TForm1.BtSendClick(Sender: TObject);
...
ClientSocket.Socket.SendBuf(ssize, SizeOf(ssize));
clientsocket.socket.sendstream(Stream);
end;
funktioniert es meistens nicht so wie es soll. Ich würde die Daten in einer Übertragung versenden, nämlich in etwa so:

Delphi-Quellcode:
unit Unit1;

interface

uses
  ...

type
  TUebertragung = Record
        ssize: integer;
        stream: TMemorystream; //gibt das vielleicht irgendein Problem???
    end;
  TForm1 = class(TForm)

...


procedure TForm1.BtSendClick(Sender: TObject);
var uebertragung:TUebertragung;
begin
  Uebertragung.ssize:= Uebertragung.stream.size;
  Impicture.Picture.Bitmap.SaveToStream(Uebertragung.Stream);
  Uebertragung.Stream.Position:=0;
  ClientSocket.Socket.SendBuf(Uebertragung, SizeOf(Uebertragung));
end;
Das ist alles ungetestet und mit Streams hab ich noch nicht gearbeitet, aber vielleicht klappt's ja so
  Mit Zitat antworten Zitat