连接到 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;