摘要:
一、消息队列的基本概念 消息队列 (也叫做报文队列)是Unix系统V版本中3种进程间通信机制之一。另外两种是信号灯和共享内存。这些IPC机制使用共同的授权方法。只有通过系统调用将标志符传递给核心之后,进程才能存取这些资源。这种系统IPC对象使用的控制方法和文件系统非常类似。使用对象的引用标志符作为资 阅读全文
posted @ 2017-06-13 17:06
苍月代表我
阅读(359)
评论(0)
推荐(0)
摘要:
消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从 它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时 接收者不可用,消息队列会保留消息,直到可以成功地传递它。 msgget()函数被用来创建新的消息队列或获取已有的消 阅读全文
posted @ 2017-06-13 17:05
苍月代表我
阅读(188)
评论(0)
推荐(0)
摘要:
消息队列是在两个不相关进程间传递数据的一种简单、高效方式,她独立于发送进程、接受进程而存在。 图1 消息队列通信机制示意图 首先从宏观的角度了解一下消息队列的工作机制。因为消息队列独立于进程而存在,为了区别不同的消息队列,需要以key值标记消息队列,这样两个不相关进程可以通过事先约定的key值通过消 阅读全文
posted @ 2017-06-13 17:04
苍月代表我
阅读(372)
评论(0)
推荐(0)
摘要:
Linux下进程间通信方式: # 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。 # 消息队列( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式 阅读全文
posted @ 2017-06-13 17:03
苍月代表我
阅读(2802)
评论(0)
推荐(0)
摘要:
1.消息队列简介 实现Linux进程通信的方式有5种: --信号(Singal) --管道(Pipe) --消息队列(Message) --信号量(Semaphore) 每种进程通信方式实现方式和功能不一样,带来适用的场景也有所不同,消息队列是链表队列,它通过内核提供一个struct msqid_d 阅读全文
posted @ 2017-06-13 17:02
苍月代表我
阅读(1121)
评论(0)
推荐(0)
摘要:
前言: 消息队列是消息的链接表,存放在内核中,并由消息队列标识符标识。我们将称消息队列为 “队列”,其标识符为“队列I D”。msgget创建一个新队列或打开一个存在的队列; msgsnd向队列末端添加一条新消息; msgrcv从队列中取消息, 获取消息是不一定遵循先进先出的, 也可以按消息的类型字 阅读全文
posted @ 2017-06-13 16:58
苍月代表我
阅读(257)
评论(0)
推荐(0)
摘要:
1. 创建/获取一个消息队列 [cpp] view plain copy #include <fcntl.h> /* For O_* constants */ #include <sys/stat.h> /* For mode constants */ #include <mqueue.h> mqd 阅读全文
posted @ 2017-06-13 16:21
苍月代表我
阅读(141)
评论(0)
推荐(0)
摘要:
消息发送/接收API msgsnd函数 [cpp] view plain copy int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); [cpp] view plain copy [cpp] view plain co 阅读全文
posted @ 2017-06-13 16:19
苍月代表我
阅读(186)
评论(0)
推荐(0)
摘要:
消息队列综合案例 消息队列实现回射客户/服务器 server进程接收时, 指定msgtyp为0, 从队首不断接收消息 server进程发送时, 将mtype指定为接收到的client进程的pid client进程发送的时候, mtype指定为自己进程的pid client进程接收时, 需要将msgt 阅读全文
posted @ 2017-06-13 16:19
苍月代表我
阅读(322)
评论(0)
推荐(0)
摘要:
消息队列概述 消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法(仅局限于本机); 每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值. 消息队列也有管道一样的不足: (1)每个消息的最长字节数的上限(MSGMAX); (2)系统中消息队列的总条数也有一个上限(MSG 阅读全文
posted @ 2017-06-13 16:18
苍月代表我
阅读(404)
评论(0)
推荐(0)
摘要:
一.概述 System V三种IPC:消息队列,信号量,共享内存。这三种IPC最先出现在AT&T System v UNIX上面,并遵循XSI标准,有时候也被称为XSI IPC。 本文先探讨消息队列: 1.消息队列允许进程以消息的形式交换数据。读写都是针对整条消息,不能读写消息的一部分,不像管道那样 阅读全文
posted @ 2017-06-13 16:16
苍月代表我
阅读(140)
评论(0)
推荐(0)
摘要:
什么是消息队列? 消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法,消息队列具有内核持续性; 每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值; 消息队列也有管道一样的不足,就是每个消息的最大长度是有上限的(MSGMAX),每个消息队列的总的字节数是有上限的(MS 阅读全文
posted @ 2017-06-13 16:15
苍月代表我
阅读(677)
评论(0)
推荐(0)
摘要:
linux 环境下的进程间的通信方式主要有:管道,有名和无名管道, 这种方式适用于具有亲缘关系的进程之间的通信; 信号: 消息队列: 共享内存: 信号量: 套接字: 这次主要涉及消息队列: 1. 需要用到的函数: 1)得到消息队列的描述子 #include <sys/types.h> #includ 阅读全文
posted @ 2017-06-13 16:03
苍月代表我
阅读(2253)
评论(0)
推荐(0)
摘要:
注意: 1结构体内部再次定义一个结构体 但是没有创建结构体的实例 也就是说再次定义的结构体内部的变量会被当做母结构体的成员变量 阅读全文
posted @ 2017-06-13 16:00
苍月代表我
阅读(3040)
评论(0)
推荐(0)
摘要:
结构体的自引用(self reference),就是在结构体内部,包含指向自身类型结构体的指针。 结构体的相互引用(mutual reference),就是说在多个结构体中,都包含指向其他结构体的指针。 1. 自引用结构体 1.1 不使用typedef时 错误的方式: 这种声明是错误的,因为这种声明 阅读全文
posted @ 2017-06-13 15:59
苍月代表我
阅读(231)
评论(0)
推荐(0)
摘要:
今天复习一下struct,顺便挖掘一下以前没注意的小细节: 基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。 结构体定义: 第一种:只有结构体定义 [cpp] view plain c 阅读全文
posted @ 2017-06-13 15:59
苍月代表我
阅读(794)
评论(0)
推荐(0)
摘要:
system V消息队列和posix消息队列类似,linux系统这两种消息队列都支持。先来看一下system V消息队列相关操作及其函数。 #include <sys/ipc.h> #include <sys/msg.h> int msgget(key_t key, int msgflg); #in 阅读全文
posted @ 2017-06-13 15:14
苍月代表我
阅读(684)
评论(0)
推荐(0)
摘要:
消息队列可以看作一系列消息组织成的链表,一个程序可以往这个链表添加消息,另外的程序可以从这个消息链表读走消息。 mq_open()函数打开或创建一个posix消息队列。 mq_open()函数打开或创建一个posix消息队列。 [cpp] view plain copy #include <fcnt 阅读全文
posted @ 2017-06-13 15:12
苍月代表我
阅读(495)
评论(0)
推荐(0)
摘要:
在当今的网络时代,我们常常见到的进程间通信方式都是socket,比如Java的EJB调用,Java和C通信,Web Service服务等。socket是最常用的通讯技术,几乎所有的系统、语言都支持,socket也是面向网络的,通信的两方可以跨越IP网络进行传输。 在本地通信中(同一台机器上的进程间通 阅读全文
posted @ 2017-06-13 14:56
苍月代表我
阅读(817)
评论(0)
推荐(0)
摘要:
下面来说说如何用不用消息队列来进行进程间的通信,消息队列与命名管道有很多相似之处。有关命名管道的更多内容可以参阅我的另一篇文章:Linux进程间通信——使用命名管道 一、什么是消息队列 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地 阅读全文
posted @ 2017-06-13 14:52
苍月代表我
阅读(142)
评论(0)
推荐(0)