2

DSTCPServerTransport.pasの「procedureTDSTCPChannel.Open」メソッドは、「FChannelInfo」を割り当てるときに、接続されたユーザーのプライベートIPアドレスを使用します。HTTPトランスポートをトレースすると、ユーザーのパブリックIPが使用されました。DSTCPServerTransport.pasが次のように更新された場合

FChannelInfo := TDBXSocketChannelInfo.Create(Integer(FContext.Connection), FContext.Connection.Socket.Binding.IP);

に変更されました

FChannelInfo := TDBXSocketChannelInfo.Create(Integer(FContext.Connection), FContext.Connection.Socket.Binding.PeerIP);

その場合、DSTCPServerTransport.pasはHTTPトランスポートの実装と一致し、接続されたユーザーのパブリックIPアドレスは、TCP接続の場合も「DSConnectEventObject.ChannelInfo.Info」を介してTDSServer.OnConnectイベントで使用できます。何人かの開発者がこれらの2つのEBTディスカッションでこれについて議論しました:ディスカッション#1ディスカッション#2。このためのQC#は#91030です。

自分で変更を加えようとしましたが、DataSnap Frameworkを再コンパイルできないことを知りました(ここを参照)。

これはXE2で修正されますか、および/またはエンドユーザーはXE2でDataSnapフレームワークを再コンパイルできますか?この修正を含むXE2より前のDataSnapへのパッチはありますか?

ありがとう、ジェームズ

4

1 に答える 1

0

私は昨日これについてEmbarcaderoに電話しましたが、修正されて次の一般リリース(XE2など)で利用可能になることを確認しました。

于 2011-07-26T22:13:43.463 に答える