Dcom服务器端的RemoteDataModule中如何能知道调用者(客户端)的机器名或IP(100分)

  • 主题发起人 主题发起人 高小五
  • 开始时间 开始时间

高小五

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现服务器端向客户端发消息,可不知道在RemoteDataModule
有什么办法。先谢谢各位兄台高手.
 
写方法直接通过APPERSER过去呀!
 
billrobin大哥, 是这么回事,我在服务器端有一个很耗时的方法,
客户端调用该方法时我想实现服务器的方法中隔一段时间向客户端通知一下
执行进度,而客户端调用那个方法时无法执行下一步操作。
不知道有什么办法实现服务器端向客户端“推”数据?谢谢billrobin大哥.
 
COM中有个事件触发的概念,你可以参考一些书籍有介绍
具体的内容就不是一两句话能解释清楚的了
 
大佬啊,这可是com的事件机制的问题了,怎么说呢
用appserver远程调用绝对行不通,appserver调用那可是同步的
非得到服务返回才行。。老实说搞到ip容易发回去就难了
我没理解错的话
现在是要服务端透过dcom发消息给客户端,换句话就是服务调用客户,这样客户端必须
实现iunknow,IDispatch接口来让服务调用,就像服务为了让客户调用一样,不过服务段的
这两个接口都有delphi帮你搞定了,客户端自己要实现麻烦的很,
我有两个变通的方法(我目前多层实现时都是用的一种的)
1,客户端写一个线程
2,自己在放两个socket通讯控件来完成通知
要不。。^_^我都很少用com的时间机制,这方面的应用很少,可能本身就不提倡。。
 
写个in类型的接口方法啊。
 
谢谢各位兄台,delphi浪客大哥,请问怎么获得IP,
有IP后我可以用Udp发消息。
 
cnjyl不是说了吗?用”写个in类型的接口方法啊“(cnjyl原话)
例如你那个N长的方法是YourFunc,该方法的接口是IYourSvr,给YourFunc加多个
传入参数ClientIP
客户调用时写作 IYourSvr(DcomConn.appserver).YourFunc(ClientIP)
客户端在多加个获取本机ip的函数传进去,这回总该搞定了吧
 
原来如此,谢谢
 
后退
顶部