一般的本地进程通信(即在自己的本机上实现两个不同的进程之间的数据传输)都是通过管道或者命名管道实现,可以通过消息队列或者共享内存的方法解决。
本次主要的内容是通过消息队列实现两个进程之间的数据传输,消息队列是消息传输过程中保存消息的容器,队列的主要目的是提供路由并保证消息的传递,如果发送消息的时候消息的接受者无法接受,队列会暂时存储消息,知道可以接受为止。
当然对于这个概念简单一点的理解可以是两个人在不同的地理位置使用固定电话,当然这个电话是单向接听的,只能一个人听一个人来说,中间的电话线就是消息队列。
接下来的C++实现过程如下(通过命名管道实现,因为命名管道可以创建唯一的IPC ID,从而可以与接受端建立连接):
发送端: