Thema: Delphi Indy10 threaded, queued

Einzelnen Beitrag anzeigen

hzzm

Registriert seit: 8. Apr 2016
103 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Indy10 threaded, queued

  Alt 30. Mai 2017, 12:11
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...
  Mit Zitat antworten Zitat