最近做个项目,程序分两个,一个是守护程序,一个是控制程序,控制程序去控制守护程序怎么做我的想法是 一、发送消息,觉得不怎么好,数据不好发送,还有都是发消息,
二、都访问同一个文件,数据写在文件里面,但是当两个程序都同时(有可能吧)访问这个文件时
    想了下,当程序A访问文件时,就给程序B发消息,告诉他我在访问,叫他等,这样的方式,不过应该是很烂吧
三、看到网上说有共享程序数据段,但不会用,没有这方面的经验
四、两个程序A B可以同时加载同一个DLL吗?需要的交付操作全放在这里,这样行吗,这样两次加载的DLL,他们在内存
    中应该是一样的吧?目前想到这四种方法,还有人能有更好的解决方案吗? 效率好,资源利用率低希望有例子程序,谢谢

解决方案 »

  1.   

    最近在做这方面的工作,基本上采用了Windows消息+ 共享内存,个人觉得不错,效率比较高,就是调试复杂点,还有就是Net中的WCF,这个功能很强大,能跨应用程序域,还能跨平台和跨互联网,由于自己的是本地的两个进程通信,感觉大才小有,同时效率也未考证,所以并未采用。关于楼主说的共享dll的方式,自己也在困惑,原来想过通过共享dll中的单例来共享数据,但是没成功,后来觉得dll只能共享代码,对于数据恐怕是不行的,即使是全局静态的也不可以,但是自己又不敢肯定,希望高手指导。