您可能会回答,通过客户端的回调函数,但是这个只是客户端在调用服务端的方法时传入的回调函数,这种情况还是客户端主动发起,服务器回应而已(我理解是这样,有误请指教)。
所以想知道服务端如何才能主动发信息给客户端,或者发信息给所有客户端(广播)?
12 个解决方案
#1
#2
没人回?
各位随便回下吧,我结贴。
各位随便回下吧,我结贴。
#3
不会,datasnap不懂
#4
没见过这种调用模式。实在要用就使用winsock。
#5
delphi xe2 里好像新增了这个功能
旧版不知有没有
不过 变通方法应该有的吧
旧版不知有没有
不过 变通方法应该有的吧
#6
目前的做法是客户端用一个timer定时去取服务器的信息,这个太浪费网络资源了,不知道是否有更好的方法?
#7
一般的服务端,总是被动的
所谓服务器主动的推,其实也是客户端不停的拉——如邮件、web
所谓服务器主动的推,其实也是客户端不停的拉——如邮件、web
#8
您可能会回答,通过客户端的回调函数,但是这个只是客户端在调用服务端的方法时传入的回调函数,这种情况还是客户端主动发起,服务器回应而已(我理解是这样,有误请指教)。
//---------------------------
客户端肯定是要主动吧,不然服务器端“回调”谁呢。
//---------------------------
客户端肯定是要主动吧,不然服务器端“回调”谁呢。
#9
服务端将调用放入一个数据结构中!
客户端定期查询服务端!
客户端定期查询服务端!
#10
不是可以注册通道吗?服务器可以广播的。
#11
服务器主动呼叫客户端示例:
szCName:通道名称
szCBackID:CallBackID
ServerContainer.DSServer1.BroadcastMessage(szCName, TJSONString.Create(edit1.Text))
ServerContainer.DSServer1.BroadcastMessage(szCName, szCBackID, TJSONString.Create(Edit1.Text));
szCName:通道名称
szCBackID:CallBackID
#12
居然没给我分...
#1
#2
没人回?
各位随便回下吧,我结贴。
各位随便回下吧,我结贴。
#3
不会,datasnap不懂
#4
没见过这种调用模式。实在要用就使用winsock。
#5
delphi xe2 里好像新增了这个功能
旧版不知有没有
不过 变通方法应该有的吧
旧版不知有没有
不过 变通方法应该有的吧
#6
目前的做法是客户端用一个timer定时去取服务器的信息,这个太浪费网络资源了,不知道是否有更好的方法?
#7
一般的服务端,总是被动的
所谓服务器主动的推,其实也是客户端不停的拉——如邮件、web
所谓服务器主动的推,其实也是客户端不停的拉——如邮件、web
#8
您可能会回答,通过客户端的回调函数,但是这个只是客户端在调用服务端的方法时传入的回调函数,这种情况还是客户端主动发起,服务器回应而已(我理解是这样,有误请指教)。
//---------------------------
客户端肯定是要主动吧,不然服务器端“回调”谁呢。
//---------------------------
客户端肯定是要主动吧,不然服务器端“回调”谁呢。
#9
服务端将调用放入一个数据结构中!
客户端定期查询服务端!
客户端定期查询服务端!
#10
不是可以注册通道吗?服务器可以广播的。
#11
服务器主动呼叫客户端示例:
szCName:通道名称
szCBackID:CallBackID
ServerContainer.DSServer1.BroadcastMessage(szCName, TJSONString.Create(edit1.Text))
ServerContainer.DSServer1.BroadcastMessage(szCName, szCBackID, TJSONString.Create(Edit1.Text));
szCName:通道名称
szCBackID:CallBackID
#12
居然没给我分...