问题标签 [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 投票
3 回答
835 浏览

c - Win7上将rabbitmq-c编译成x64

我在 Win7 上成功编译并运行rabbitmq-c作为 x86 模块(win32)。
请注意,这是 RabbitMQ 的 C 客户端,而不是RabbitMQ 本身。

我使用了这些指令CMAKE并运行了这些命令:

但是我需要将其编译为 x64。我找不到配置选项的哪个开关可以设置构建过程来做到这一点。

0 投票
1 回答
2510 浏览

rabbitmq - 如何解决无法打开套接字的问题 - amqp/rabbitmq-c

我正在尝试 Hello World AMQP 的 rabbitmq-c 实现。

我从 rabbitmq-c 源代码中包含的示例中采用了一个小脚本。这是一个片段:

hostname如果我在与 rabbitmq 服务器进程(即is )相同的主机上运行它localhost,那么脚本会连接并发送一条由侦听器接收的消息。如果我在不同的机器上运行相同的程序并提供运行 Rabbit 的机器的主机名,那么当它尝试使用 -9 打开套接字时它会死掉,这只是“发生套接字错误”。“errno”正是EINPROGRESS我尝试打开非阻塞套接字时所期望的。(这与我在程序成功时看到的错误相同)。

失败时,rabbitmq 服务器日志中没有显示任何内容。

如果有人能具体告诉我这里出了什么问题,我会很高兴,但我真的需要一根钓鱼竿。我不知道如何从这里的系统中获取我需要的信息,甚至不知道从哪里开始。我以前从未真正做过unix I/O。任何人都可以就调试后续步骤提出一些建议吗?

0 投票
1 回答
1223 浏览

amqp - AMQP:交换、队列和路由密钥,以及绑定密钥:声明和引用命名交换

我正在尝试amq.fanout使用rabbitmq-cRabbitMQ 的 amqp 客户端创建类型交换。但是,我对我必须为它声明的确切内容感到困惑。根据这个,我必须声明交换名称和类型,以及可选的持久性和生命周期语义。

当我声明一个交换时,看起来我可以提供“交换”,我认为它是交换的名称,以及交换类型,例如amq.fanout。从examples/amqp_exchange_declare.c

但是,如果我看一个发布的例子,在第二个参数中,有一个地方提供交换类型exchange,它是命名的。例如,examples/amqp_producer.c

但是没有地方提供交易所的名称。那么如何发布到命名交换?

为什么我要提供一个 queue_name 来发布?我应该只发布到交易所 - 队列应该对发布者隐藏。这只是示例中命名不佳的变量,还是我遗漏了一些基本的东西?

0 投票
1 回答
665 浏览

mingw - RabbitMQ-C MinGW 构建失败:poll() 函数在 Windows 上不可用

我尝试使用 mingw(2013-10-27 版本)编译 rabbitmq-c 版本 0.6.0(最新稳定版)。少数编译错误是由于使用了“include poll.h”;找不到所需的 poll() 函数。

mingw 不提供 poll() 函数,所以如何使用 mingw 编译当前的 rabbitmq-c 源代码,如下所述:

https://github.com/alanxz/rabbitmq-c/blob/master/README-win32.md

0 投票
2 回答
709 浏览

ssl - Rabbitmq -c “SSL 对等证书验证失败”

我正在尝试使用 SSL 连接到 RabbitMQ 服务器,但我收到此错误“SSL 对等证书验证失败”。

我使用 openssl 检查证书,如下所示: openssl s_client -connect host:port -CAfile cacert.pem

并得到“验证返回码:0(ok)”所以我相信证书是好的。

我正在尝试在这里使用 amqps_bind.c 示例。

我只需要服务器验证,所以我删除了 amqp_ssl_socket_set_key()。

代码在 amqp_socket_open() 中失败。

我还有一个 C# 代码可以使用 SSL 连接到同一台服务器而不会出现任何错误。

0 投票
2 回答
2350 浏览

rabbitmq - 在rabbitmq中的不存在队列上发布消息时如何中止代码

我已经编写了服务器-客户端应用程序。
服务器端服务器将在直接交换中使用路由密钥key1
初始化队列queue1 。 在初始化和声明之后,只要有人在上面写,它就会消耗数据。

客户端

客户端将使用路由密钥key1在该交换上发布一些数据。
此外,在我发布之前,我已将 mandotory 标志设置为 true。

问题

当我首先启动服务器时一切都很好。但是当我首先启动客户端并使用路由密钥发布数据时出现问题。当客户端发布数据时,经纪人也不例外。


我在不存在的队列上发布数据时,我想要异常或错误。

0 投票
0 回答
528 浏览

rabbitmq - RabbitMQ 关闭丢失的连接

我想知道是否有办法配置 RabbitMQ 以关闭丢失的连接而不管心跳。

我的问题是,如果在心跳设置为 0 的情况下打开连接并且连接丢失(例如禁用网络接口),服务器会永远保持连接打开,我知道 TCP 超时为 11 分钟,但连接甚至没有关闭几个小时以后。

我确实向服务器添加了 keepalive 配置,但结果相同(我正在使用 SSL)。

有没有办法配置服务器以关闭此连接而不管心跳配置如何?

或者也许我可以拒绝低心跳配置的连接?

环境细节:

操作系统 ubuntu 服务器 14.04

RabbitMQ 服务器版本 3.5.4

配置:

0 投票
1 回答
274 浏览

rabbitmq - SimpleAmqpClient & rabbitmq-c 二进制文件

是否为 AMQP 库 SimpleAmqpClient 和 rabbitmq-c 预构建了每个平台的二进制文件(如果没有,原因是什么)?

0 投票
1 回答
194 浏览

c - RabbitMq C API:模拟“rabbitmqctl cluster_status -n rabbit@" 来自 C API

我正在尝试仅使用 C API 获取集群中的节点列表。

或多或少以下 shell 命令返回的内容,但来自 C API

我想避免使用or或其他方式rabbitmqctl从 C调用,因为我想避免依赖于客户端的 rabbitmq 服务器包。system()popoen()

有什么提示吗?

0 投票
1 回答
1435 浏览

c - RabbitMQ-C 构建错误(使用 openSSL)

我正在尝试构建具有 SSL 支持的 RabbitMQ-C ( https://github.com/alanxz/rabbitmq-c )。我已经下载并构建了最后一个 openSSL 版本(https://github.com/openssl/openssl),并添加了它。(openssl 库位于 openssl 根文件夹中)。我的终端日志:

cmake .. :

cmake --构建:

现在我不明白出了什么问题。

ps OSX 10.11,