私はD5で作業しています(それは事実です)。Indy9をインストールしました。IdMappedPortTCP
ポート 8041 (SSL) でデータを受信し、そのデータをTserversocket
ポート 8040にリダイレクトしようとしていTserversocket
ます。
次のコードを使用します。
var
masterdir:String;
begin
masterdir:=Extractfilepath(paramstr(0));
IdMappedPortTCP1.Active:=false;
datamodule2.IdMappedPortTCP1.MappedHost:='192.168.0.3';
datamodule2.IdMappedPortTCP1.MappedPort:=8041;
datamodule2.IdMappedPortTCP1.DefaultPort:=8040;
IdServerIOHandlerSSL1.SSLOptions.RootCertFile:=masterdir+'mycert.pem';
IdServerIOHandlerSSL1.SSLOptions.CertFile:=masterdir+'mycert.pem';
IdServerIOHandlerSSL1.SSLOptions.KeyFile:=masterdir+'key.pem';
IdMappedPortTCP1.IOHandler:=IdServerIOHandlerSSL1;
IdMappedPortTCP1.Active:=true;
end;
SSL を使用しなければ、すべて問題ありません。しかし、SSL を使用すると、リクエストが暗号化されたポート 8040 に到達することはなく、処理できるように暗号化されていない必要があります。