Einzelnen Beitrag anzeigen

4lb3rtO

Registriert seit: 11. Okt 2011
11 Beiträge
 
Delphi 2010 Professional
 
#3

AW: ungenaues ReceiveLength

  Alt 7. Nov 2012, 11:15
Ich schaue mir auf dem Client die Größe des MemoryStreams an, die gesendet wird. Anschließend zähle ich auf dem Server die empfangenen Bytes zusammen. Der Client zeigt mir eine Größe von bspw. 43943 und der Server eine Größe von 43947 Bytes an. Irgendwie kommt da ein bisschen zu viel an.

Gesendet wird mit...
Delphi-Quellcode:
procedure TForm1.Senden_BClick(Sender: TObject);
var
  ms: TMemoryStream;
  jpg: TJpegImage;
  siz: Integer;

begin
  ms := TMemoryStream.Create;
  jpg := TJpegImage.Create;

  jpg.Assign(Image1.Picture);
  jpg.SaveToStream(ms);
  ms.Position := 0;

  siz := ms.Size;
  Memo1.Text := 'Sent: ' + IntToStr(siz);
  Client.Socket.SendBuf(siz, SizeOf(siz));
  // Das Windows-Socket-Objekt gibt den Stream nach erfolgter Verarbeitung frei.
  // Versuchen Sie nicht, den Stream, nachdem er als Parameter übergeben wurde, freizugeben.
  Client.Socket.SendStream(ms);

// ms.Free;
  jpg.Free;
end;
  Mit Zitat antworten Zitat