datasnap的回调机制

本文介绍了datasnap中TDBXCallBack对象如何实现服务器与客户端的回调通信。关键点包括通道管理、客户端标识和回调标识。每个客户端需设置好组件属性并注册回调方法,通过DSServer的BroadcastMessage函数和TDSAdminClient的NotifyCallback函数实现消息传递。
摘要由CSDN通过智能技术生成

datasnap使用TDBXCallBack对象进行服务器和客户端口的回调通信。

该技术主要涉及到几个关键点:

1、通道;

2、客户端标识;

3、回调标识;


注意:

1、一个客户端正常只需要建立一个通道,一个通道可以注册多个回调标识;

2、每个客户端标识不能重复;


3、客户端添加 TDSClientCallbackChannelManager 组件,并设置好 channelName、DSHostName、CommuncationProtocol、DSPort、ManagerID属性


4、注册回调方法 DSClientCallbackChannelManager1.RegisterCallback(callid,TDataSnapCallBack.Create); 注册成功返回true


5、RegisterCallback的第二个参数是继承TDBXCallBack类的对象,只要实现execute方法,如下:


function TDataSnapCallBack.Execute(const Arg: TJSONValue): TJSONValue;
var
  str:string;
begin
  Result:=TJSONString.Create('成功回叫客户端'); //一定要回传给服务端信息 ,在客户端发送时会显示
  if Assigned(Arg) then
    if (Arg is TJSONString) then
    begin
      str:=TJSONString(Arg).Value;
      TThread.S
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值