因为每个子程序都是独立的一个运行模块(独立的项目文件和运行程序),但又要同时运行这几个程序对同一端口(如COM1)进行接收和收发下位机的数据,如果每个程序模块都用自己的的通讯控件进行端口操作的话,这肯定是行不通的,因为其他程序就不能打开这个端口了。
不知大家用什么方案好?
我初步打算编写一个独立的通讯服务器,每个子程序通过通讯服务器来对端口的收发操作,但子程序怎么和通讯服务器连接的问题,不知各位有什么更好的方案?谢谢!!!

解决方案 »

  1.   

    你的思路是对的。
    其实就是进程间的通信问题。
    1.如果是在一台pc的话,
    就是本机的进程通信而已,
    可以通过消息,内存映象文件完成,
    信息可以存在内存,也可存文件。
    2.如果在局域网的话,那可以用dcom或者socket来完成,
    dcom的远程过程调用挺不错的,socket自己定义传输协议也挺有意思
      

  2.   

    我是想用spcomm来通讯,三个子程序共用这个spcomm.
      

  3.   

    基本就是 longchaohui(阿龙) 的意见了另外一种,就是有一种硬件,叫 IP转串口的,一端是rs232连设备,
    一端是rj45连你的电脑或交换机,直接用socket 对指定IP, 端口发包就是,更简单
      

  4.   

    使用DCOM与SOCKET都可以,关键处都是在处理并发上,稍有些考验功底。
      

  5.   

    DCOM与SOCKET都可以实现,可以结贴了