Moin,
ich versuche gerade, einen queue in meine INdy10-Verbindung einzubauen.
Dazu lese ich
diesen SO Beitrag und sehe, wie Remy das queuen der Befehle mit einer TIdThreadSafeStringList loest:
Code:
procedure TMaster.IdTCPServer1Execute(AContext: TIdContext);
var
Queue: TIdThreadSafeStringList;
List: TStringList;
Tmp: TStringList;
I: Integer;
begin
...
Queue := TIdThreadSafeStringList(AContext.Data);
List := Queue.Lock;
try
if List.Count > 0 then
begin
Tmp := TStringList.Create;
try
Tmp.Assign(List);
List.Clear;
except
Tmp.Free;
raise;
end;
end;
finally
Queue.Unlock;
end;
if Tmp <> nil then
try
AContext.Connection.IOHandler.Write(Tmp, False);
finally
Tmp.Free;
end;
...
end;
Mein Problem ist: Wie sieht das Gegenstueck zu diesem Queue auf Client-Seite aus?
IdTCPClient1 hat ja keinen 'AContext' (natuerlich nicht), in dem AContext.Data diese Liste sein koennte...