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;