软件分为两个工程,一个是界面操作.exe,另一个是服务线程.exe,服务中的线程完成udp端口的监听和回馈工作,在界
面工程上能启动关闭服务,想在界面上增加远程召测数据功能,也就是通过udp发送命令给远程终端,远程终端接到命令后返
回所需数据,这种功能应该采用社么样的思路来设计,在界面上还需要初始化udp组件吗?在界面发送命令的时候需要停止udp监听线程吗?  一头雾水,请赐教。

解决方案 »

  1.   

    我的理解应该这么设计:界面与服务通讯,服务与终端通讯。如果使用UDP,界面程序、服务程序都要启一个UDP端口监听对方的UDP数据,放到线程里监听。服务程序相当与一个转发,收到界面程序的召测命令后,转发成终端的规约报文,发给终端。当收到终端返回的数据,再转发给界面。服务程序与终端的通讯,要根据具体情况,选择TCP还是UDP、TCP的话用长连接还是短连接,哪边是服务端等。
      

  2.   

       我查了一下用WM_COPYDATA消息可以在不同的进程中传递消息数据,但是使用WM_COPYDATA必须要有一个窗体来接收消息和数据,而我的服务进程里面没有form窗体,那又如何从界面发送命令到另一进程中的执行函数中去呢? 
      

  3.   

    没有form窗体也可以接受数据啊
      

  4.   

    Client 和 Server 都有一个 UDP 在监听。
    Client 发送给 Server,Server 处理后还给 Client。
    你要的逻辑是不是就是这样?