Besser. Dein Fehler liegt darin das du jedesmal lokal den RCx mit dem Passwort initialisierst.
Die grundsätzliche Philosophie beim
TCP/
IP lautet: Der kontinuierliche Datenstrom wird in Packete zerlegt die dann mit unterschiedlicher Geschiendigkeit und über verschiedene Datenkanäle im WEB verteilt übertragen werden und auf Clientseite durcheinander empfangen werden können, ABER vom
TCP/
IP treiber des Systemes IMMER in korrekter Reihenfolge wieder zusammengebastelt werden, es entsteht wieder ein korrekter und fehlerfreier Datenstrom.
TCP/
IP stellt also sicher das die Daten ohne Fehler wieder empfangen werden.
Ergo: bevor du Daten versendest initialisierst du zwei globale Variable die RCx enthalten und in deinen Eventhandlern rufst du nur noch RCxEncode()Decode() auf.
Gruß Hagen
Delphi-Quellcode:
procedure TMainForm.ClientEncryptData(Sender: TObject; PA: TProtocolAdapter; var Buffer; const Size: Integer);
begin
RCxEncode(FRCxEncoide, Buffer, Buffer, Size);
end;
procedure TMainForm.ClientDecryptData(Sender: TObject; PA: TProtocolAdapter; var Buffer; const Size: Integer);
begin
RCxDecode(FRCxDecode, Buffer, Buffer, Size);
end;
FRCxEncode und FRCxDecode sind Felder deines TForms und werden in deinem äußeren Protokollhandler initialisiert, also wenn der Client<->Server mit ihrem Datenaustausch beginnen.
Gruß Hagen