嵌入式Linux网络编程·笔记5·msg(消息队列API)

本文详细介绍了嵌入式Linux中用于进程间通信的消息队列API,包括msgget、msgsnd、msgrcv和msgctl四个函数的使用方法、参数解释及注意事项。通过这些函数,可以实现多进程之间的消息传递和队列管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二十二、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已经对应了某个            早已存在消息队列,就直接返回这个已存在消息队列的msq

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值