消息队列与通信
来源:互联网 发布:温州公务员网络学堂 编辑:程序博客网 时间:2024/05/17 22:15
1.打开或创建消息队列
int msgget(key_t key,int msgflg)
成功:返回消息对列
失败:-1
标志: IPC_CREAT创建新的消息队列,没有与key对应的消息队列的情况下才创建
消息队列的格式struct msgbuf
消息的类型 long mtype
消息数据 char mtext[1]
2.发送消息到消息队列中(写消息)
int msgsnd(int msqid,const void *msgp,size_t msgsz,int msgflg)
消息队列的id 指向要发送到消息 消息的大小 标志
成功:0
失败:-1
3.从消息队列中取消息(读消息)
msgrcv(int maqid,void *msgp,size_t msgsz,long msgtyp,int msgflg)
消息队列的id 存放取到的消息 希望取到的消息的最大长度 消息的类型【0:直接忽略类型,直接取消息队列的第一条消息 >0:取消息队列类型等于msgtype的第一条消息 <0:取类型比msgtyp的绝对值小的或者等于的消息,在这些消息中取最小的那条】
成功:接收到的消息的数据量
失败:-1
4.控制消息队列(删除消息队列)
msgctl
int msgctl(int msqid,int cmd,struct msqid_ds *buf)
消息队列 操作命令 获取内核中的msqid_ds( NULL)
IPC_RMID:用于删除消息队列的标志
成功:0
失败:-1
实例:
进程A:
1.创建消息队列
2.{
获取键盘输入【消息类型+消息数据】
发送消息队列
}
3.进程终止前删除消息队列
0 0
- 消息队列与通信
- linux消息队列通信
- 进程通信消息队列
- [进程通信] 消息队列
- 消息队列的通信
- Linux通信--消息队列
- 进程通信--消息队列
- 进程通信-----消息队列
- 进程通信--消息队列
- linux通信 --- 消息队列
- 线程通信 消息队列
- 消息队列实现通信
- 消息与消息队列
- 消息与消息队列
- 消息与消息队列
- 消息与消息队列
- 消息与消息队列
- 【VxWorks系列】任务间同步与通信之消息队列
- AWS训练营培训笔记
- 1151魔板B
- 第二周项目4——(1)用循环求π的近似值
- Java基础03-运算符和分支结构
- 堆和栈的区别
- 消息队列与通信
- 使用samtools来对sam/bam/cram相互转换
- ubuntu 命令
- Android Transition框架(2)-Scene
- 《Android开发艺术探索》读书笔记 (6) 第6章 Android的Drawable
- PEP8 Python 编码规范整理
- Fragment与Activity的区别
- .h头文件中的ifndef/define/endif 的作用
- Linux编辑器 VI的使用