DA EventRespository的应用

关于DA的事件的应用于理解
 
例子 FIleextendedtransfer
 
客户端 向服务器端提交 服务端时候,服务端可以同时让事件进行触发的操作。
 
事件触发以后,会向自己或者其他的客户端执行特殊的 客户端的部分的指令,如 download....
 
服务器端是被动触发,触发后执行客户端指令。
 
比较有意思。
 

我们还可以对照聊天的例子。
 
httpchat的例子
 
{ 服务端的代码}
 
procedure TChatServerService.Talk(const Message: String);
 var
 ev: IChatEvents_Writer;
 begin
 ev := (EventRepository as IChatEvents_Writer);
 ev.ExcludeSender := False;  
 
//不包含自己,也就是session执行的时候,让发送指令的该客户也执行
 ev.Message(session.SessionID, Session['nick'], '', Message);
 
//该部分的指令会在客户端执行相应的方法
 end;
 
{ 客户端的代码}
 
procedure TSuperTCPChannelChat_ClientMainForm.Message(const From, Target, Message: string);
 var
 Data: array of string;
 begin
 SetLength(Data, 3);
 Data[0] := From;
 Data[1] := Target;
 Data[2] := Message;
 SendMessage(Handle, WM_USER, Longint(stMessage), Longint(Data));
 end;

 

转载于:https://www.cnblogs.com/leonkin/p/3208646.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值