Chinaunix首页 | 论坛 | 博客
  • 博客访问: 246186
  • 博文数量: 35
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 273
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-27 23:34
个人简介

To follow the path,look to the master,follow the master.

文章分类

全部博文(35)

文章存档

2019年(1)

2018年(1)

2017年(1)

2016年(8)

2015年(24)

分类: C/C++

2015-09-10 18:20:04

消息队列:
创建消息队列
打开消息队列
操作:从消息队列读 往消息队列写
删除消息队列
System V:

int msgget(key_t key, int msgflg)
创建/打开消息队列
key:名称
msgflg:消息队列的属性

key_t ftok(const char *pathname, int proj_id)

int msgctl(int msqid, int cmd, struct msqid_ds *buf)
对于消息队列属性设置或获取
msqid:msgget()返回值
cmd:IPC_RMID=删除消息队列

int msgsnd(int msqid,//消息队列描述符
       const void *msgp,//数据
       size_t msgsz,//数据大小
       int msgflg)//属性;

ssize_t msgrcv(int msqid,//消息队列描述符
               void *msgp,//数据
           size_t msgsz,//大小
           long msgtyp,//类型 只能接收type相等消息队列中消息 0=先进先出
           int msgflg)//属性


Psix:

mqd_t mq_open(const char *name, int oflag);
打开消息队列
mqd_t mq_open(const char *name, int oflag, mode_t mode,struct mq_attr *attr)
创建消息队列
name:名称 ”/name“
oflag:属性
mode:权限
attr:消息队列属性

mqd_t mq_getattr(mqd_t mqdes, struct mq_attr *attr);
mqd_t mq_setattr(mqd_t mqdes, struct mq_attr *newattr,
                               struct mq_attr *oldattr)

mqd_t mq_send(mqd_t mqdes,//描述符
              const char *msg_ptr,//数据
              size_t msg_len,//数据长度
          unsigned msg_prio//优先级发送)
ssize_t mq_receive(mqd_t mqdes,
               char *msg_ptr,//缓冲区大小必须是每个消息最大字节数
                   size_t msg_len,
               unsigned *msg_prio)

mqd_t mq_unlink(const char *name)

阅读(1645) | 评论(0) | 转发(0) |
0

上一篇:进程

下一篇:APUE IPC机制(三)共享内存

给主人留下些什么吧!~~