为实现多个应用软件与底层驱动沟通,并且该底层驱动是与硬件沟通,会出现资源独占的情况,故需要特意开发一个windows服务程序,让它负责与底层驱动通信沟通,应用程序就只是与服务程序沟通,但是想请教高人如何实现多个应用程序(客户端)与这个服务程序沟通,使用哪种方法最简单方便?

解决方案 »

  1.   

    方法很多,共享内存,socket,命名管道...,建议用socket
      

  2.   

    还是socket好,最通用,pipe可能会遇到想不到的问题
      

  3.   

    如果需要公网传输,用socket
    局域网的话,用什么都一样,推荐用socket,也可以用命名管道
      

  4.   

    用socket多线程管理比较容易,由一些模型叶可以用,用管道也很简单,我以前做过一个用管道的,你的服务程序开几个线程,创建多个管道,分别给多个应用程序来进行连接,或者连接同一个管道,连一次发一次数据,做一下同步,然后有序的发送数据。 用消息也可以,你得到这个服务程序的进程句柄,然后往这个进程发消息,然后再处理消息,如果数据量小的话。
    还是要看你的需求,其实差距都不是很大,不过在windows上管道性能就差一些,不如linux。
      

  5.   

    用socket吧,大家都这么认为
      

  6.   

    我用了管道和共享内存,如果是socket,会存在端口号冲突的可能性吧?