linux消息队列操作
对消息队列的操作无非有以下三种类型: 1、 打开或创建消息队列 消息队列的内核持续性要求每一个消息队列都在系统范围内相应唯一的键值,所以,要获得一个消息队列的描写叙述字,仅仅需提供该消息队列的键值就可以; 注:消息队列描写叙述字是由在系统范围内唯一的键值生成的,而键值能够看作相应系统内的一条路经。 2、 读写操作 消息读写操作很easy,对开发者来说,每一个消息都相似例如以下的 数据 结构: struct msgbuf{ long mtype; char mtext[1]; }; mtype成员代表消息类型,从消息队列中读取消息的一个重要根据就是消息的类型;mtext是消息内容,当然长度不一定为1。因此,对于发送消息来说,首先预置一个msgbuf缓冲区并写入消息类型和内容,调用对应的发送函数就可以;对读取消息来说,首先分配这样一个msgbuf缓冲区,然后把消息读入该缓冲区就可以。 3、 获得或设置消息队列属性: 消息队列的信息基本上都保存在消息队列头中,因此,能够分配一个相似于消息队列头的结构(struct msqid_ds,见 附录 2 ),来返回消息队列的属性;相同能够设置该 数据 结构。 消息队列API 1、文件名称到键值 #include <sys/types.h> #include <sys/ipc.h> key_t ftok (char*pathname, char