消息队列:它提供了一个进程向另一个进程发送一个数据块的方法。每个数据块都可以被认为是一个类型,接收者可通过不同类型接收相应的数据块。它由操作系统提供缓冲区。是基于消息的。可通过发送消息来避免命名管道的阻塞问题。

//comm.h文件 声明五个函数接口,创建并释放消息队列,获取消息队列,从消息队列中收发消息。

wKiom1cLkzXRMXv0AABNkfIi5pI048.png

//comm.c文件  用msgget创建消息队列或取得已经存在的消息队列。

  用ftok生成key值,key相当于一个端口号

wKioL1cLlaSCh-isAABNuBP_oEU765.png

wKiom1cLk4zySc9QAAA4f5NM_Fs492.png

用IPC_RMID从内核中删除消息队列标识码所对应的消息队列

//server.c文件

wKioL1cLk-rhxVuqAABAez33wdE877.png

wKiom1cLk_ijx3SyAAAqSNJuTdY482.png

//client.c文件

wKiom1cLlUHQ3G_dAABR_OCLPPs272.png

运行结果:wKiom1cLmD_y-JFpAAAtbbqLKv8956.png