Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy Commandhandler (https://www.delphipraxis.net/61242-indy-commandhandler.html)

th_bone 18. Jan 2006 17:50


Indy Commandhandler
 
Hi,

ich versuche gerade der Übersichtlichkeit halber einen TCPserver auf CMDTCPServer umzustellen
und will dazu einen Stream senden - nur wie komme ich im Client wieder an den Stream ?

bzw. würde ich hier auch gerne den CMDTCPclient verwenden... aber stehe hier nochmehr auf
dem schlauch...

Gibts irgendwo ein Bsp. wo CMDTCPServer und CMDTCPclient verwendet werden ? bei den Indy demos bin ich leider nicht fündig geworden und die Anschaffung von 'Indy in Depth' war auch ein totaler reinfall - da steht auch nur allgemeines bla bla drin - von wegen viele Beispiele...

Danke für alle Tips

Ralf

P.S. hier mein Code vom CMDTCPserver - aufruf und Abarbeitung im Server funzen ohne Probleme

Delphi-Quellcode:

// aufgerufen wird es vom client mit
//
//   tcpclient.SendCmd('GetExchanges');
//

procedure TForm1.CmdTCPServerGetExchangesCommand(ASender: TIdCommand);
var
  IDS: TidStreamVCL;
  Datastream  : TMemoryStream;
  exchangedata : TExchanges;
begin
  // Exchangetabelle auslesen
  datastream:= Tmemorystream.Create;
  TBexchanges.first;
  while not TBexchanges.eof do begin
    exchangedata.Sr2wExchangeID:=TBexchanges.FieldByName('EXCHANGEID').AsInteger;
    //...
    datastream.Write(exchangedata,sizeof(exchangedata));
    TBexchanges.next;
  end;

  datastream.Position:=0;
  IDS := TidStreamVCL.Create(datastream);

  // Exchangesliste senden...
  try
    with asender.Context.Connection do begin
      IOHandler.WriteBufferOpen;
      iohandler.WriteLn(inttostr(stCommand)+'EXCHANGES');
      socket.Write(IDS,0,true);
      IOHandler.WriteBufferClose;
    end;

  finally
    datastream.free;
    FreeAndNil(IDS);
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz