真的没人知道吗? 
不用DCOM用Socket连接也可以

解决方案 »

  1.   

    1. 在RemoteDataModule.Create和Destroy就是连接和断开事件2. 这个很难,而且也没什么意义,可以直接 delete 这个人的 RemoteDataModule。问题就是在怎样知道连接者的 RemoteDataModule是什么了。这个可以提供个Login函数什么的实现,但可恶的是你不能阻止这个客户的下一次连接...3. 是个高难度的问题, 在 COM/DCOM 中都有实现一个叫 Call back支持,代码太多我无法列出,兄弟要见谅了.. 对于从客户机到服务器不说也明白,就是让客户机 call 一个服务器方法。
    在客户机提供一个 IConnectionPoint 接口让服务器回叫。说是高难度也不是很难,主要是代码多些,但几乎所有的代码都一样..一本较深入一点的书上都会有介绍,但用的是 C++, 虽是我在Delphi下没写过但可以肯定的是用 Delphi写会简单得多
      

  2.   

    是不是可以通过服务端的一个方法或是属性来实现呢
    remote data module
    var
      FAllInfo: widestring;
      
      property AllInfo: widestring read FAllInfo;procedure send(const Buf: widestring);
    begin
      FAllInfo := FAllInfo + Buf;
    end;client:
     socketconnection.appserver.send('info');
     showmessage(socketconnection1.appserver.allinfo); 
      

  3.   

    太可怕,怎么没开QQ?你不是说回调效率低吗,还叫别人用这个。
    我是用另开一个UDP通信的方法来实现的。
      

  4.   

    我用另开一个tcp解决单独断开和通信,不过总觉得不是最好的解决方案
      

  5.   

    Raptor??你又出现了?反正我是不用回调,有人要用我也没办法