问题标签 [rabbitmq-c]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
719 浏览

c - 如何从柯南食谱中的要求中获取正确的值以用作 CMake 参数?

我正在编写为rabbitmq-c库创建包的方法。当检查其cmake脚本中的enable_ssl_support选项时,它需要OpenSSL库才能构建。

RabbitMQ C 客户端库 CMake GUI 屏幕

如提供的屏幕路径所示,需要libeay.libssleay.lib文件的调试发布版本。

在我conanfile.py的 forrabbitmq-c库中,我有以下描述依赖关系的代码。

如何从所需的OpenSSL包中获取正确的值以在RabbitMQ-C配方的CMake配置选项中设置它们?

OpenSSL/1.0.2l@bobeff/stable可以使用不同的设置和选项构建包。在构建RabbitMQ-C时如何选择使用哪个?例如,如何选择是使用静态版本还是动态版本的OpenSSL来链接RabbitMQ-C dll文件?

0 投票
1 回答
6336 浏览

rabbitmq - 使用 RabbitMQ 发送图像

我想使用 RabbitMQ 将图像从客户端传输到服务器。然而,无论我读到什么,我都明白 RabbitMQ 只能传输文本流。那么如何传输图像呢?

0 投票
1 回答
394 浏览

c - 无法通过 RabbitMQ C 主机发送图像

我正在尝试通过 RabbitMQ C master 发送图像,方法是将其二进制数据用作消息,然后将其传输并将其复制到另一个图像文件中。我的代码如下:

客户/发件人:

服务器/接收器:

amqp_wrapper_library.c

然而,image2 并没有被重建。我检查了图像大小,两个图像的大小不匹配。这里有什么问题?

0 投票
1 回答
640 浏览

c - 消息在 RabbitMQ C master 中丢失

我正在使用 alanxz 的 RabbitMQ C master。链接如下: https ://github.com/alanxz/rabbitmq-c

在 amqp_sendstring.c 和 amqp_listen.c 示例中,当我关闭 amqp_listen.c 并继续使用 amqp_sendstring.c 发送字符串时,消息会丢失。所以当我重新启动 amqp_listen.c 时,它没有收到消息。我希望 amqp_listen.c 在前者处于非活动状态时接收 amqp_sendstring.c 发送的消息。我该怎么办?

amqp_sendstring.c:

amqp_listen.c:

请建议我如何以正确的顺序检索丢失的消息。

0 投票
2 回答
999 浏览

c++ - 编译 c++ amqp-cpp 演示程序 err, make err

我想用 amqpcpp CopernicaMarketingSoftware/AMQP-CPP编写一个测试程序。但是编译器(g++)抱怨:

g++版本是7.3.0,系统是,ubuntu16.04版本amqpcpp是3.1.0。

我的代码如下,有 3 个文件rabbitmq_handler.hrabbitmq_handler.cppmain.cc.

rabbitmq_handler.h

rabbitmq_handler.cpp

主文件

0 投票
0 回答
1067 浏览

c++ - rabbitmq-c客户端的链接错误

我想实现一个小型 c++ 客户端,它连接到我的本地 RabbitMQ 服务器。

该应用程序使用 CMakeList 配置如下:

生成后 CMake-Gui 的输出:

我不明白为什么 Rabbitmqc 库没有正确链接。输入${Rabbitmqc_LIBRARY}不够TARGET_LINK_LIBRARIES吗?

如果我编译我的客户端,那么我会收到以下错误:

测试客户端.cxx

感谢您的任何建议!

0 投票
1 回答
258 浏览

c++ - 如何从rabbitmq的库中的消息中读取reply_to - amqpcpp?

我正在尝试从消息中读取 reply_to 参数,但没有成功。我正在为消息队列服务器 RabbitMQ https://github.com/akalend/amqpcpp使用 rabbitcpp C++ 库

并且m->getHeader("reply_to")是空的。

在此处输入图像描述

0 投票
1 回答
983 浏览

ssl - 何时/为什么需要在 TLS 协商中使用 CACert?

我试图了解用于配置 TLS 的参数(特别是针对 rabbitmq,但我的问题可能更笼统)。

有 4 个主要实体需要考虑:

  • 密钥 - 对等方用于解密发送给它的已使用其公钥加密的消息的私钥。

  • Cert - 包含对等方公钥的证书它还包含一些识别细节,如主机名、组织等。其中许多是可选的。证书可以是未签名的(如果有的话很少?)、自签名或由证书颁发机构签名。

  • CACert - 对等方信任的 CA 证书,可用于解密和验证签名证书的签名。

  • CA 密钥 - 用于签署证书的 CA 的私钥。

这些映射到配置设置,包括:

  • enablePeerVerification - 如果为 true,则对等方尝试通过检查证书是否真的由 CA 签名来验证服务器是否是它所说的身份(同样沿着信任链向上直到它到达它信任的 CA,因为它在它的本地 CA 信任库)。将此设置为 false 是一个坏主意,因为有人可能会冒充对等方。(在 go 中,此选项称为 InsecureSkipVerify 作为警告)如果证书是自签名的,则无法进行对等验证。此选项允许您自行承担风险(例如在开发期间)使用对等方的自签名证书。

  • Key - 用于解密的私钥

  • Cert - 用于加密(和握手)

  • CACert - 签署“Cert”证书的 CA 的证书

为什么有 CACert 的配置设置?

如果证书由 CA 签名,则它已经包含足够的信息来定位 CA(例如域名)。CACert 的用途是什么,是否或何时在 TLS 协商期间发送?这是否只是为了节省直接前往 CA 的便利?如果 CACert 不匹配或指向您的信任库中的一个,您仍然必须执行此操作。

我指的是服务器的rabbitmq.config中的“cacert”和C API(rabbitmq-c)中的amqp_ssl_socket_set_cacert()。

我想检查一下我的理解是否正确(https://xkcd.com/386/

0 投票
1 回答
209 浏览

rabbitmq - amqp_basic_qos 没有任何效果

我正在尝试使用 librabbitmq 编写一个简单的消费者。它正在工作,但是当我执行 amqp_basic_consume 时,它​​会消耗整个队列。我想要的是它得到一条消息,处理它并重复。

我尝试使用 basic_qos 一次让消费者预取 1,但这似乎根本没有效果。

基本设置和循环: // 一次设置 1 条消息的 qos if (!amqp_basic_qos(conn, channel, 0, 1, 0)) { die_on_amqp_error(amqp_get_rpc_reply(conn), "basic.qos"); }

我希望有一个队列被填满,我可以开始处理,如果我点击 ^C,剩余的消息仍在队列中。相反,即使我只处理了一条消息,整个队列也会被清空。

0 投票
1 回答
294 浏览

c++11 - RabbitMQ - SimpleAmqpClient - 我正在尝试将标头与我的消息一起发送,但标头没有被发送;我究竟做错了什么?

我正在使用以下内容:https ://github.com/alanxz/SimpleAmqpClient

我正在尝试将标头与我的消息一起发送,但标头没有被发送;我究竟做错了什么?

这是我的代码的样子。我有一个带有一些基本配置值的配置对象。

这会将消息发送到队列,我可以在 RabbitMq 管理门户上看到除标头之外的所有详细信息(AppID、类型、消息正文等)。

我错过了什么?它是一些配置还是它是什么?

如果有人能给我一个关于如何发送标头的基本教程的链接,我将不胜感激。

我被困住了。请帮忙。