进程间通信(消息队列)

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

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

进程间通信(消息队列)_第1张图片

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

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

进程间通信(消息队列)_第2张图片

进程间通信(消息队列)_第3张图片

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

//server.c文件

进程间通信(消息队列)_第4张图片

进程间通信(消息队列)_第5张图片

//client.c文件

进程间通信(消息队列)_第6张图片

运行结果:进程间通信(消息队列)_第7张图片


你可能感兴趣的:(通信,操作系统,缓冲区)