gpt4 book ai didi

delphi - 在 DataSnap XE 中访问公共(public) IP 地址/重新编译 DataSnap 框架

转载 作者:行者123 更新时间:2023-12-03 18:51:32 57 4
gpt4 key购买 nike

DSTCPServerTransport.pas 中的“procedure TDSTCPChannel.Open”方法在分配“FChannelInfo”时使用连接用户的私有(private)IP 地址。当我跟踪 HTTP 传输时,它使用了用户的公共(public) 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 传输实现,并且连接用户的公共(public) IP 地址也将在 TDSServer.OnConnect 事件中通过“DSConnectEventObject.ChannelInfo.Info”用于 TCP 连接。几个开发人员在这两个 EBT 讨论中讨论了这个问题: Discussion #1 , Discussion #2 . QC# 是#91030。

我尝试自己进行更改,但了解到我无法重新编译 DataSnap 框架 ( see here)。

这会在 XE2 中修复和/或最终用户能否在 XE2 中重新编译 DataSnap 框架? XE2 之前是否会有包含此修复的 DataSnap 补丁?

谢谢,
詹姆士

最佳答案

我昨天给 Embarcadero 打了电话,他们确认它已经修复,将在下一个通用版本(例如 XE2)中可用。

关于delphi - 在 DataSnap XE 中访问公共(public) IP 地址/重新编译 DataSnap 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6528739/

57 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com