Delphi datasnap中间件如何控制长连接的客户端连接?


本文整理自网络,侵删。

 
ActiveConnections: TClientDataSet;

。。。

有客户端连接上来的时候

procedure TForm8.DSServer1Connect(DSConnectEventObject: TDSConnectEventObject);
begin
ActiveConnections.Insert;
if DSConnectEventObject.ChannelInfo <> nil then
begin
ActiveConnections['ID'] := DSConnectEventObject.ChannelInfo.Id;
ActiveConnections['Info'] := DSConnectEventObject.ChannelInfo.Info;
end;
ActiveConnections['UserName'] := DSConnectEventObject.ConnectProperties[TDBXPropertyNames.UserName];
ActiveConnections['ServerConnection'] := DSConnectEventObject.ConnectProperties[TDBXPropertyNames.ServerConnection];
ActiveConnections.Post;

end;

有客户端断开连接的时候

procedure TForm8.DSServer1Disconnect(
DSConnectEventObject: TDSConnectEventObject);
begin
if ActiveConnections.Locate('ID', DSConnectEventObject.ChannelInfo.Id,[]) then
ActiveConnections.Delete;
end;

来源:https://www.cnblogs.com/hnxxcxg/p/5662633.html

相关阅读 >>

Delphi dbgrid刷新数据

Delphi 系统托盘 trayicon

Delphi 循环 low high 用法

Delphi xe2和xe3开发的程序中加入管理员权限申请

Delphi adoquery查询,如何得到查询记录数?

Delphi 让子窗体显示最大化

Delphi 大小排序算法代码

屏幕抓取Delphi

Delphi webbroker isapi 示例说明

Delphi 关于rs485总线通信协议开发注意事项

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...