delphi datasnap 服务端如何主动发信息给客户端

sujianfeng@xiamen 2012-06-24 11:50:20
问题如题!

您可能会回答,通过客户端的回调函数,但是这个只是客户端在调用服务端的方法时传入的回调函数,这种情况还是客户端主动发起,服务器回应而已(我理解是这样,有误请指教)。

所以想知道服务端如何才能主动发信息给客户端,或者发信息给所有客户端(广播)?
...全文
678 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
fhying 2013-06-13
  • 打赏
  • 举报
回复
居然没给我分...
fhying 2013-06-13
  • 打赏
  • 举报
回复
服务器主动呼叫客户端示例:
ServerContainer.DSServer1.BroadcastMessage(szCName, TJSONString.Create(edit1.Text))
ServerContainer.DSServer1.BroadcastMessage(szCName, szCBackID, TJSONString.Create(Edit1.Text));
szCName:通道名称 szCBackID:CallBackID
fhying 2013-06-05
  • 打赏
  • 举报
回复
不是可以注册通道吗?服务器可以广播的。
酣酣 2012-07-02
  • 打赏
  • 举报
回复
服务端将调用放入一个数据结构中!
客户端定期查询服务端!
CACACACACA 2012-07-01
  • 打赏
  • 举报
回复
您可能会回答,通过客户端的回调函数,但是这个只是客户端在调用服务端的方法时传入的回调函数,这种情况还是客户端主动发起,服务器回应而已(我理解是这样,有误请指教)。
//---------------------------
客户端肯定是要主动吧,不然服务器端“回调”谁呢。
sujianfeng@xiamen 2012-06-30
  • 打赏
  • 举报
回复
目前的做法是客户端用一个timer定时去取服务器的信息,这个太浪费网络资源了,不知道是否有更好的方法?
haitao 2012-06-30
  • 打赏
  • 举报
回复
一般的服务端,总是被动的
所谓服务器主动的推,其实也是客户端不停的拉——如邮件、web
CS_DNisSB2B 2012-06-28
  • 打赏
  • 举报
回复
不会,datasnap不懂
sujianfeng@xiamen 2012-06-28
  • 打赏
  • 举报
回复
没人回?

各位随便回下吧,我结贴。
mhhaifeng 2012-06-28
  • 打赏
  • 举报
回复
delphi xe2 里好像新增了这个功能
旧版不知有没有
不过 变通方法应该有的吧
UnkownState 2012-06-28
  • 打赏
  • 举报
回复
没见过这种调用模式。实在要用就使用winsock。

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧