lnet - Große Daten versenden

Alle Fragen zur Netzwerkkommunikation
Antworten
_X_
Beiträge: 250
Registriert: Di 16. Dez 2008, 20:13
OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
CPU-Target: 32/64Bit

lnet - Große Daten versenden

Beitrag von _X_ »

Kann mir das bitte jemand genauer erklären. :oops:
http://lnet.wordpress.com/usage/sockets ... d-sending/

procedure TMyClass.OnCanSend(aSocket: TLSocket);
var
Sent: Integer; // number of bytes sent each try
TempBuffer: string = ''; // our local temp. buffer for the filestream, can be done smarter tho
begin
repeat
if Length(TempBuffer) = 0 then
TempBuffer := GetNewChunk; // get next chunk if we sent all from the last one
Sent := FConnection.SendMessage(TempBuffer, aSocket); // remember, don't use the aSocket directly!
Delete(TempBuffer, 1, Sent); // delete all we sent from our temporary buffer!
until (Sent = 0) or (AllIsSent); // try to send until you can't send anymore
end;
Und bitte eine Beispielfunktion für GetNewChunk.

Das habe ich mir gedacht:

Code: Alles auswählen

var data: string;
 
 
function GetNewChunk: string;
begin
  result := copy(data, 1, 65535);
  delete(data, 1, 65535);
end;


mfg _X_

_X_
Beiträge: 250
Registriert: Di 16. Dez 2008, 20:13
OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
CPU-Target: 32/64Bit

Re: lnet - Große Daten versenden

Beitrag von _X_ »

Es hat sich durch Tests und mit der Hilfe von u-boot erwiesen, dass ich Recht habe.

mfg _X_

Antworten