连接到 DataSnap Server 的设备列表
List of devices connected to DataSnap Server
有谁知道如何获取连接到 DataSnap Server 的设备的 ID?
我制作了一个使用 DataSnap Server 的应用程序,我想限制连接并识别连接的设备。
在 TDSServer 组件上,您可以指定一个 OnConnect 事件。有一个名为“TDBXClientInfo”的记录类型,您可以从存储在 OnConnect 事件的 TDSConnectEventObject 中的“TDBXChannelInfo”中获取。此记录包含 IP 地址。
Mat DeLong 有很多关于 DataSnap 的有用信息:
https://mathewdelong.wordpress.com/2011/09/15/delphilive-2011-recap/
这可能有帮助
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;
有谁知道如何获取连接到 DataSnap Server 的设备的 ID? 我制作了一个使用 DataSnap Server 的应用程序,我想限制连接并识别连接的设备。
在 TDSServer 组件上,您可以指定一个 OnConnect 事件。有一个名为“TDBXClientInfo”的记录类型,您可以从存储在 OnConnect 事件的 TDSConnectEventObject 中的“TDBXChannelInfo”中获取。此记录包含 IP 地址。
Mat DeLong 有很多关于 DataSnap 的有用信息:
https://mathewdelong.wordpress.com/2011/09/15/delphilive-2011-recap/
这可能有帮助
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;