如何在linux中使用POSIX API发送带有消息队列的整数?

Posted

技术标签:

【中文标题】如何在linux中使用POSIX API发送带有消息队列的整数?【英文标题】:How to send integer with message queue with POSIX API in linux? 【发布时间】:2011-07-11 22:45:17 【问题描述】:

我尝试通过 msg 队列发送整数,但函数 mq_send(mq, &val , sizeof(val), 0);仅适用于 char 类型指针,所以有什么方法可以将整数发送到另一个函数或相同函数的队列中。

问候...

【问题讨论】:

【参考方案1】:

在这种情况下,不要将 char* 读取为唯一允许的数据类型。

许多 *ix API 使用 char 作为通用缓冲区指针。

因此将界面视为采用指向缓冲区的指针和缓冲区的大小。

该缓冲区可以是您喜欢的任何内容,从单个 int 到您的类的结构、序列化字符串表示,或内存中的任何其他内容。

int i;
mq_send(mq, (char *) &i, sizeof(i), 0);

应该可以工作(未经测试)

祝你好运

【讨论】:

以上是关于如何在linux中使用POSIX API发送带有消息队列的整数?的主要内容,如果未能解决你的问题,请参考以下文章

POSIX 或 Linux API 函数从路径获取文件扩展名

如何在php中安装posix

如何在 C# 中使用带有服务帐户的 gmail api 或 google Oauth 来发送邮件?

如何在 React 中发送带有变量的 POST 请求?

如何在 Node.js 中使用带有 API 网关的 AWS Lambda 发送二进制响应? [复制]

如何使用 OAuth 存储和发送带有 API 请求的授权令牌?