Einzelnen Beitrag anzeigen

Briand
(Gast)

n/a Beiträge
 
#16

AW: TCP Filelistening

  Alt 1. Mär 2014, 16:54
So hab das Problem gelöst.

Es war so das das Socket Receive Event mehrmals aufgerufen wurde und ich immer nur den Schluss des Strings bekam.
Beim SendText schicke ich die grösse des Strings mit damit ich beim empfangen weiss wieviel das kommen sollte.

Habe das jetzt so gelöst.

Delphi-Quellcode:
procedure TForm1.ServerSocketClientRead(Sender: TObject; Socket: TCustomWinSocket);
var Befehl : String;
begin

Datas := Datas + socket.ReceiveText;

if Copy(datas, 1, 1) = '*then
begin
Delete(datas,1,pos('*',datas));
buffer := strtoint(copy(datas,0,pos('*',datas)-1));
Delete(datas,1,pos('*',datas));
end;

if length(datas) >= buffer then
begin
Befehl := copy(datas,0,pos('|',datas)-1);

if Befehl = ('DRIVES') then
begin
Delete(Datas,1,pos('|',Datas));
TeileDrives(datas);
buffer := 0; datas := '';
end;

if Befehl = ('FOLDERS') then
begin
Delete(Datas,1,pos('|',Datas));
TeileFolders(datas);
buffer := 0; datas := '';
end;

if Befehl = ('FILES') then
begin
Delete(Datas,1,pos('|',Datas));
TeileFiles(datas);
buffer := 0; datas := '';
end;

Geändert von Briand ( 1. Mär 2014 um 16:57 Uhr)
  Mit Zitat antworten Zitat