问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mq消息队列可以在linux和aix之间通讯么

发布网友 发布时间:2022-05-07 08:14

我来回答

1个回答

热心网友 时间:2023-10-22 02:47

在Linux中使用消息队列
Linux提供了一系列消息队列的函数接口来让我们方便地使用它来实现进程间的通信。它的用法与其他两个System V PIC机制,即信号量和共享内存相似。

1、msgget函数
该函数用来创建和访问一个消息队列。它的原型为:
int msgget(key_t, key, int msgflg);
与其他的IPC机制一样,程序必须提供一个键来命名某个特定的消息队列。msgflg是一个权限标志,表示消息队列的访问权限,它与文件的访问权限一样。msgflg可以与IPC_CREAT做或操作,表示当key所命名的消息队列不存在时创建一个消息队列,如果key所命名的消息队列存在时,IPC_CREAT标志会被忽略,而只返回一个标识符。

它返回一个以key命名的消息队列的标识符(非零整数),失败时返回-1.

msgsnd函数
该函数用来把消息添加到消息队列中。它的原型为:
int msgsend(int msgid, const void *msg_ptr, size_t msg_sz, int msgflg);
msgid是由msgget函数返回的消息队列标识符。

msg_ptr是一个指向准备发送消息的指针,但是消息的数据结构却有一定的要求,指针msg_ptr所指向的消息结构一定要是以一个长整型成员变量开始的结构体,接收函数将用这个成员来确定消息的类型。所以消息结构要定义成这样:

struct my_message{
long int message_type;
/* The data you wish to transfer*/
};
msg_sz是msg_ptr指向的消息的长度,注意是消息的长度,而不是整个结构体的长度,也就是说msg_sz是不包括长整型消息类型成员变量的长度。

msgflg用于控制当前消息队列满或队列消息到达系统范围的*时将要发生的事情。

如果调用成功,消息数据的一分副本将被放到消息队列中,并返回0,失败时返回-1.

热心网友 时间:2023-10-22 02:47

在Linux中使用消息队列
Linux提供了一系列消息队列的函数接口来让我们方便地使用它来实现进程间的通信。它的用法与其他两个System V PIC机制,即信号量和共享内存相似。

1、msgget函数
该函数用来创建和访问一个消息队列。它的原型为:
int msgget(key_t, key, int msgflg);
与其他的IPC机制一样,程序必须提供一个键来命名某个特定的消息队列。msgflg是一个权限标志,表示消息队列的访问权限,它与文件的访问权限一样。msgflg可以与IPC_CREAT做或操作,表示当key所命名的消息队列不存在时创建一个消息队列,如果key所命名的消息队列存在时,IPC_CREAT标志会被忽略,而只返回一个标识符。

它返回一个以key命名的消息队列的标识符(非零整数),失败时返回-1.

msgsnd函数
该函数用来把消息添加到消息队列中。它的原型为:
int msgsend(int msgid, const void *msg_ptr, size_t msg_sz, int msgflg);
msgid是由msgget函数返回的消息队列标识符。

msg_ptr是一个指向准备发送消息的指针,但是消息的数据结构却有一定的要求,指针msg_ptr所指向的消息结构一定要是以一个长整型成员变量开始的结构体,接收函数将用这个成员来确定消息的类型。所以消息结构要定义成这样:

struct my_message{
long int message_type;
/* The data you wish to transfer*/
};
msg_sz是msg_ptr指向的消息的长度,注意是消息的长度,而不是整个结构体的长度,也就是说msg_sz是不包括长整型消息类型成员变量的长度。

msgflg用于控制当前消息队列满或队列消息到达系统范围的*时将要发生的事情。

如果调用成功,消息数据的一分副本将被放到消息队列中,并返回0,失败时返回-1.

热心网友 时间:2023-10-22 02:47

在Linux中使用消息队列
Linux提供了一系列消息队列的函数接口来让我们方便地使用它来实现进程间的通信。它的用法与其他两个System V PIC机制,即信号量和共享内存相似。

1、msgget函数
该函数用来创建和访问一个消息队列。它的原型为:
int msgget(key_t, key, int msgflg);
与其他的IPC机制一样,程序必须提供一个键来命名某个特定的消息队列。msgflg是一个权限标志,表示消息队列的访问权限,它与文件的访问权限一样。msgflg可以与IPC_CREAT做或操作,表示当key所命名的消息队列不存在时创建一个消息队列,如果key所命名的消息队列存在时,IPC_CREAT标志会被忽略,而只返回一个标识符。

它返回一个以key命名的消息队列的标识符(非零整数),失败时返回-1.

msgsnd函数
该函数用来把消息添加到消息队列中。它的原型为:
int msgsend(int msgid, const void *msg_ptr, size_t msg_sz, int msgflg);
msgid是由msgget函数返回的消息队列标识符。

msg_ptr是一个指向准备发送消息的指针,但是消息的数据结构却有一定的要求,指针msg_ptr所指向的消息结构一定要是以一个长整型成员变量开始的结构体,接收函数将用这个成员来确定消息的类型。所以消息结构要定义成这样:

struct my_message{
long int message_type;
/* The data you wish to transfer*/
};
msg_sz是msg_ptr指向的消息的长度,注意是消息的长度,而不是整个结构体的长度,也就是说msg_sz是不包括长整型消息类型成员变量的长度。

msgflg用于控制当前消息队列满或队列消息到达系统范围的*时将要发生的事情。

如果调用成功,消息数据的一分副本将被放到消息队列中,并返回0,失败时返回-1.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
雾头楼台月度迷.桃园望断无处觅.庙堂无策可来戌.坐使甘泉照夕峰... “孤臣霜发三千丈”的出处是哪里 wps无法打开数据源-wps无法打开数据源怎么解决 ...个人版永久免费的客户关系管理软件,最好是有使用经历的, 什么牛不吃草的答案 指长时间分别、久别的词语 文科生学什么专业能申请公费留学的几率大些 美国本科留学文科如何选专业? 出国留学主要是文科生吗 出国留学生,为什么回来的,基本上是文科生 极光推送 msgid 一次多少个 loadrunner 录制脚本回放出现26628及26388 错误,如何解决? 谁有整套msgId的解释? 关于c语言中消息队列发送的结构体? 请教关于CMPP中的CMPP_SUBMIT消息中的Msg_Id字段 在AS400中MONMSG时如何获取MSGID? 当微信服务器给我的URL发送多次同一请求,怎样实现排重 Android res/values/string.xml 添加字符串后,msgid怎样生成? 微信开放平台中,获取到的MsgId是否是唯一? 迅雷缺少参数msgid 微信clientmsgid,微信msgid怎么获取 为什么源码中的strings.xml中有msgid属性 html表单 用PHP 连接 Mysql,并且设置Cookie。 手机为什么接不到对方电话? 广式月饼皮的用料和做法是什么? 月饼的饼皮都是用什么做的? 青春期的男孩脸上有黑头怎么办 支付宝补全真实身份信息 支付宝主账号如何补全认证信息 我是男孩子 鼻子脸上有很多黑头 有什么简单实用的办法去处呢 谁知道支付宝补全身份信息的方法 留字怎么解释? 电脑总是有弹窗出来,怎样可以删除? 留字的繁体字怎么写 “留”字的繁体字怎么写? 要想炒大白菜熟的快,应该横切还是竖切 双耳旁一个留,拼音.双耳旁一个留,怎么读 烤箱做出来的面包和面包机做出来的面包哪个口感好? 都说面包机烤的面包不如烤箱拷出来的好吃,是吗?最近一直在犹豫买哪个。 哪里有卖寿桃馒头? 上四下留字念什么 寿桃馒头哪里有卖 北京地区寿桃馒头哪里有卖过寿祝寿用的那种 一个走字旁一个留,半包围结构,字形就像赵,就是把赵的乂换成留,这个字念什么? 张店哪里有卖寿桃馒头的 济南哪里有卖花样馒头的 面包机与烤箱那个做出的面包更好 生孩子外婆家买什么 天津什么地方卖寿桃 jsp中创建cookie是为什么cookie名称为什么不能用中文而其值可以用中文 重庆工程学院2019年电路基础试题