msg(消息队列API)
1、消息队列的特点:
(1)传送有格式的消息流;
(2)多进程网状交叉通信时,消息队列是上上之选;
(3)能实现大规模数据的通信。
1、msgget(创建/获取消息队列)
1、头文件:#include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h>
2、函数原型:int msgget(key_t key, int msgflg);
3、函数形参:key:用于为消息队列生成唯一的消息队列msqid(标识符);
msgflg:指定创建时的原始权限,一般都设置为0664|IPC_CREAT。
注:①key具体设置见shmget,不同在于此处通常使用frok函数生成key。
②创建一个新的消息队列时,除了原始权限,还需要指定IPC_CREAT选项;
③如果key值没有对应任何消息队列,就会创建一个新的消息队列,此时就会用到msgflg参数,但是如果key已经对应了某个早已存在消息队列,就直接返回这个已存在消息队列的msqid(标识符),此时不会用到msgflg参数。
4、函数返回值:成功返回消息队列的msqid(标识符),失败返回-1,错误存于erron中。
5、多个进程是如何共享到同一个消息队列?
(1)fork前创建;
(2)使用ft
msg(消息队列API)
最新推荐文章于 2023-02-11 13:48:10 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)