问题标签 [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.
c# - RabbitMQ 消费者/接收者不在 C# Windows 窗体中工作
我目前正在使用rabbitMQ服务器,当我尝试在c#控制台应用程序中工作时,发布交换工作并成功保存在服务器中,消息将生动地出现在控制台中但是当我在C# windows窗体中应用我的源代码时,它不会得到发布者发送的所有消息。我将该方法放在构造函数事件中,但根本没有发生,它不会收到任何消息。
请看下面的源代码
c++ - 使用 rabbitmq-c 作为静态库会报错:致命错误:amqp.h: No such file or directory
我正在尝试将rabbitmq-c构建为静态库,以便可以在 AWS lambda 中使用。
我能够按照文档构建示例,并且这些示例运行良好。
但现在我正试图在我自己的项目中使用。以下是我采取的步骤:
- 在第三方目录中克隆https://github.com/alanxz/rabbitmq-c 。
- 在我的源目录中,我正在使用 cmake 构建。
下面是我的 CMakeLists.txt
- 我运行
cmake .. -DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF
(没有任何问题)。 - 但是当我执行make时,它会给出以下错误:
这是我的 execute_code.cpp(我只是在这里删除不必要的代码)
当我不使用时
我能够构建rabbitmq-static,下面是make响应
它能够生成librabbitmq.a,因此它能够静态构建。
我尝试使用最新的稳定版本https://github.com/alanxz/rabbitmq-c/releases/tag/v0.10.0 。但仍然是同样的错误。
我尝试搜索有关该问题的信息,但找不到任何有用的信息。
我是cmake的新手,你能告诉我我做错了什么还是我错过了什么?
rabbitmq - rabbitmq-c中的框架和信封有什么区别?
在rabbitmq-c的上下文中,框架和信封有什么区别。这些示例似乎可以互换使用它们,并且不清楚有什么区别。
rabbitmq - AMQP 消息属性未发布到 RabbitMQ 集线器
我已使用 vcpkg 构建 rabbitmq-c,如https://github.com/alanxz/rabbitmq-c构建说明中所述:
然后我构建了https://github.com/alanxz/SimpleAmqpClient(最新发布版本 2.5.1)
我面临的问题是 CorrelationId、Type 等消息属性没有发送到 RabbitMq 集线器。在我升级到最新版本之前,相同的代码以前可以工作。
这是我正在使用的代码:我使用以下代码发布消息:
注意:邮件正文和标头正在发送,没有任何问题。
观察:如果我不初始化标头,则仅正确发送 AppId 属性;但是如果我初始化标头,那么除了标头之外,没有其他属性被发送到集线器。正文始终正确发送;没问题。
有人可以找出错误吗?
PS:我为此在 Git 存储库中创建了一个问题:https ://github.com/alanxz/SimpleAmqpClient/issues/287
c++ - rabbitmq-c 发送 nlohmann json
想通过 RabbitMQ-C 发送图像,但图像文件太大。接收方无法检索图像。因此,我将图像转换为 base64,然后将其放入 JSON。
使用 RabbitMQ-C 将消息(msg)发送给接收者但失败 [错误指向这里]
是 const char* 不能使用 amqp_cstring_bytes(msg) 转换为 amqp_bytes_t 吗?
并得到这个错误
c++ - 当指令在两个函数之间划分时,amqp-c 无法发送到队列中,但如果指令集位于单个函数中,则可以工作。为什么?
重要的提示:
由于 Ikegami 的评论,此问题已被编辑。我希望实际问题现在更清楚了。请注意,在撰写本文时是上午 10 点,添加的代码没有经过 IDE 或任何类型的代码编辑器,因此可能会出现拼写错误、缩进错误和错误。遇到这种情况请谅解,谢谢。回到最初的问题。
我的大脑围绕着 AMQP,在尝试了几个库之后,rabbitmq-c让我最接近成功。我仍在研究这些示例,但即使是那些也让我感到悲伤,一些上下文代码,首先是工作版本:
主.cpp:
处理程序.h
和 Handler.cpp
我真正想做的和我没能做的看起来像:
主文件
main 的详细信息在这里并不重要,文件在这里只是为了显示我想要使用我的 Handler 类的方式:
- 创建处理程序类,
- 延迟一段时间以确保我们不会陷入跨网络通信的延迟,然后将消息发送到队列。最后
- 延迟一段时间,然后关闭连接并关闭程序
处理程序.h
和 handler.cpp
您可以看到当前工作的实现与我想要的实现之间的差异。据我了解,将指令从一个功能拆分为多个不应该影响功能,但它似乎会。我尝试过使用和不使用 QTimers,但均无济于事。
这里有什么问题?我想将连接的形成,消息的发送和关闭连接分开到他们自己的功能中,但是无论我尝试什么,它都不起作用。我正在使用的库示例可以在这里找到。
如前所述,我尝试了不同的库: QAMQP 的两个版本都在这里和这里找到,以及原始 C++ 实现在这里找到。在这三者中,rabbitmq-c 让我最接近突破。
任何帮助将不胜感激,谢谢。
编辑
我重做了代码示例以使我的观点更清楚