有谁知道如何获取连接到DataSnap Server的设备的ID? 我创建了一个使用DataSnap Server的应用程序,我想限制连接并识别连接的设备。
答案 0 :(得分:0)
在TDSServer组件上,您可以指定OnConnect事件。有一个名为'TDBXClientInfo'的记录类型,您可以从存储在OnConnect事件的TDSConnectEventObject中的'TDBXChannelInfo'中获取该记录类型。该记录包含IP地址。
Mat DeLong有很多关于DataSnap的有用信息:
https://mathewdelong.wordpress.com/2011/09/15/delphilive-2011-recap/
答案 1 :(得分:0)
这可能会有所帮助
procedure TServerContainer1.DSServer1Connect(
DSConnectEventObject: TDSConnectEventObject);
var
UserName: String;
ClientInfo: TDBXClientInfo;
logmsg: String;
i: Integer;
begin
// Note: this event handler gets called directly AFTER authentication
UserName := TDSSessionManager.GetThreadSession.GetData('UserName');
ClientInfo := DSConnectEventObject.ChannelInfo.ClientInfo;
logmsg := Format('User %s connected via %s from IP address %s',
[UserName, ClientInfo.Protocol, ClientInfo.IpAddress]);
// ...
end;