我们正在编写需要消息传递的C ++代码。是否有可用的免费/开源和稳定的AMQP服务器,它具有同样稳定的C ++客户端库。我们还需要向用户提供我们代码的Python接口(想法是用C ++做最大的事情并用Python公开API)。
实现这一目标的最佳途径是什么。
答案 0 :(得分:8)
为了将来参考,请查看Apache Qpid - 它有一个C ++客户端库,非常好。您的用例的问题是Rabbit实现了AMQP 0-8,而Qpid C ++客户端则使用AMQP 0-10。
答案 1 :(得分:2)
Apache QPid似乎与此相关。有一个C ++代理/客户端库here。
请注意,由于您正在编写协议(AMQP),因此您的代理/客户端不必使用相同的语言。例如我正在使用Scala和C#客户端与RabbitMQ(一个Erlang代理商)交谈。
答案 2 :(得分:1)
- 编辑 -
如果您打算使用AMQP,请查看Zero MQ。它有一个AMQP的C ++实现。但是,他们将它移植到纯C实现。
答案 3 :(得分:1)
librabbit上的AMQP C ++包装器https://github.com/akalend/amqpcpp:https://github.com/alanxz/rabbitmq-c
答案 4 :(得分:0)
我知道这有点晚了,我和提问者处于相同的位置。
我正在查看上面每个答案的IceStorm和Apache QPid。
目前我有兔子MQ,但与C ++集成并不容易。
我认为如果您可以控制客户端和服务器代码,并且您不需要AMQP“标准”而且IceStorm可以满足您的需求,并且您对GPL许可证感到很满意(或准备从零C).. IceStorm似乎是最稳定和跨语言的解决方案。
答案 5 :(得分:0)
对于RabbitMQ,以下库的功能更加丰富,并提供了完善的文档: https://github.com/CopernicaMarketingSoftware/AMQP-CPP