问题标签 [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 - Win7上将rabbitmq-c编译成x64
我在 Win7 上成功编译并运行rabbitmq-c作为 x86 模块(win32)。
请注意,这是 RabbitMQ 的 C 客户端,而不是RabbitMQ 本身。
我使用了这些指令CMAKE
并运行了这些命令:
但是我需要将其编译为 x64。我找不到配置选项的哪个开关可以设置构建过程来做到这一点。
rabbitmq - 如何解决无法打开套接字的问题 - amqp/rabbitmq-c
我正在尝试 Hello World AMQP 的 rabbitmq-c 实现。
我从 rabbitmq-c 源代码中包含的示例中采用了一个小脚本。这是一个片段:
hostname
如果我在与 rabbitmq 服务器进程(即is )相同的主机上运行它localhost
,那么脚本会连接并发送一条由侦听器接收的消息。如果我在不同的机器上运行相同的程序并提供运行 Rabbit 的机器的主机名,那么当它尝试使用 -9 打开套接字时它会死掉,这只是“发生套接字错误”。“errno”正是EINPROGRESS
我尝试打开非阻塞套接字时所期望的。(这与我在程序成功时看到的错误相同)。
失败时,rabbitmq 服务器日志中没有显示任何内容。
如果有人能具体告诉我这里出了什么问题,我会很高兴,但我真的需要一根钓鱼竿。我不知道如何从这里的系统中获取我需要的信息,甚至不知道从哪里开始。我以前从未真正做过unix I/O。任何人都可以就调试后续步骤提出一些建议吗?
amqp - AMQP:交换、队列和路由密钥,以及绑定密钥:声明和引用命名交换
我正在尝试amq.fanout
使用rabbitmq-c
RabbitMQ 的 amqp 客户端创建类型交换。但是,我对我必须为它声明的确切内容感到困惑。根据这个,我必须声明交换名称和类型,以及可选的持久性和生命周期语义。
当我声明一个交换时,看起来我可以提供“交换”,我认为它是交换的名称,以及交换类型,例如amq.fanout
。从examples/amqp_exchange_declare.c
但是,如果我看一个发布的例子,在第二个参数中,有一个地方提供交换类型exchange
,它是命名的。例如,examples/amqp_producer.c
但是没有地方提供交易所的名称。那么如何发布到命名交换?
为什么我要提供一个 queue_name 来发布?我应该只发布到交易所 - 队列应该对发布者隐藏。这只是示例中命名不佳的变量,还是我遗漏了一些基本的东西?
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
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 连接到同一台服务器而不会出现任何错误。
rabbitmq - 在rabbitmq中的不存在队列上发布消息时如何中止代码
我已经编写了服务器-客户端应用程序。
服务器端服务器将在直接交换中使用路由密钥key1
初始化队列queue1 。
在初始化和声明之后,只要有人在上面写,它就会消耗数据。
客户端
客户端将使用路由密钥key1在该交换上发布一些数据。
此外,在我发布之前,我已将 mandotory 标志设置为 true。
问题
当我首先启动服务器时一切都很好。但是当我首先启动客户端并使用路由密钥发布数据时出现问题。当客户端发布数据时,经纪人也不例外。
当
我在不存在的队列上发布数据时,我想要异常或错误。
rabbitmq - RabbitMQ 关闭丢失的连接
我想知道是否有办法配置 RabbitMQ 以关闭丢失的连接而不管心跳。
我的问题是,如果在心跳设置为 0 的情况下打开连接并且连接丢失(例如禁用网络接口),服务器会永远保持连接打开,我知道 TCP 超时为 11 分钟,但连接甚至没有关闭几个小时以后。
我确实向服务器添加了 keepalive 配置,但结果相同(我正在使用 SSL)。
有没有办法配置服务器以关闭此连接而不管心跳配置如何?
或者也许我可以拒绝低心跳配置的连接?
环境细节:
操作系统 ubuntu 服务器 14.04
RabbitMQ 服务器版本 3.5.4
配置:
rabbitmq - SimpleAmqpClient & rabbitmq-c 二进制文件
是否为 AMQP 库 SimpleAmqpClient 和 rabbitmq-c 预构建了每个平台的二进制文件(如果没有,原因是什么)?
c - RabbitMq C API:模拟“rabbitmqctl cluster_status -n rabbit@" 来自 C API
我正在尝试仅使用 C API 获取集群中的节点列表。
或多或少以下 shell 命令返回的内容,但来自 C API
我想避免使用or或其他方式rabbitmqctl
从 C调用,因为我想避免依赖于客户端的 rabbitmq 服务器包。system()
popoen()
有什么提示吗?
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,