了解ZeroMQ

时间:2015-06-02 13:24:00

标签: zeromq

正如我在上一篇文章中提到的那样,我希望能够用不同语言编写程序或函数来进行通信。

我最近遇到了zeromq,我正在试图弄清楚这是否可以帮助我,因为它提供了某种插座。例如,zeromq可以在用python编写的程序与用C ++编写的函数之间交换数据(或传递参数),还是它的功能完全不同?

2 个答案:

答案 0 :(得分:1)

ZeroMQ是套接字的抽象。它是跨平台的,并且有很多语言绑定:我个人不知道任何没有ZeroMQ绑定的语言。

所以,是的,您可以使用ZeroMQ在用Python编写的程序和用C ++编写的程序之间进行通信。

我建议浏览zguide,因为它包含有关ZeroMQ的非常有用信息的很多

PyZMQ可用作Python绑定,zmqpp用于C ++代码。请注意,对于C ++代码,您还可以直接使用cppzmq或zmq C API。我建议使用zmqpp作为更高级别,并且(imho)更容易使用。

答案 1 :(得分:1)

答:哦,是的,这正是ZeroMQnanomsg框架的力量

这两个都是不是套接字 ,而是在零 - * 的上下文中创建 BEHAVIOR - - 一套勇敢的格言 S caleable F ormal C 沟通 P 实习生 F ramework的设计,开发和微调是为了满足。

这将使您能够组装自己的快速&智能消息传递层。

问:下一步最好的是什么?

尽管你的第一印象是,你可以忘记任何关于套接字和多线程同步技巧的知识。

是的,宁愿忘记并建立对“绿色领域”的新理解。

以Pieter HINTJENS的预订“代码连接,第1卷”(可在 PDF 中访问),花几周时间了解Pieter的动机和典型错误敲进了ZeroMQ必读的圣经。

如果您没有或完全错过更大图片的完整背景,则代码段危险

相信我。我不能给你更好的建议。您可以在ZeroMQ&中查看我的其他帖子。 nanomsg,看看差异。

你肯定会受益于这本书,ZeroMQ将为你提供许多你永远不会(并且相信我永远不会)准备从头开始自己编程的能力。 权力是如此巨大(如果重复使用)

<强> nota bene

对于真实世界的进程间通信,有一个小问题需要注意。各种ZeroMQ版本的互操作性。是的,ZeroMQ的强大功能是巨大的,但是,有必要保持消息传递层中内置的版本控制,以便解决某些平台没有可用的“更新”版本的更新路径的情况。通过将交易系统重新整合到一个组件中来解决这个问题,其中需要zmq.__version__ == 2.1.11一段时间,而最近的版本远高于14.x.y,以确保100%结束 - 向后兼容。

尽管如此,整体潜力是巨大的,坚持下去并完成工作是有道理的。 G / L就是这样。