下面链接的博文已经总结了Linux下消息队列及其API函数,本文用C语言模拟一个消息队列消息的手法,一个进程(server)产生消息放到消息队列中,另外一个进程对消息队列进行读取并打印消息,遇到exit则结束,由客户端删除消息队列。
消息队列总结(https://blog.csdn.net/poetteaes/article/details/80030114)
1. msq.h
# ifndef _SHM_H
# define _SHM_H
# define MAX_MSG_LEN 1024
# define MSQ_KEY 21012
typedef struct MSGQUEUE
{
long msgType;
char msgText[MAX_MSG_LEN];
}Msg;
#endif
2. MsgClient.c
/**************************************
* MQ Client. Consumer msg.
* created by CAO Fei
* date: 2018-04-29
*************************************/
# include <stdio.h>
# include <string.h>
# include <errno.h>
# include <unistd.h>
# include <sys/ipc.h>
# include <sys/msg.h>
# include <sys/types.