了解 ZeroMQ

2023-11-30

因此,正如我在上一篇文章中所问的那样,我希望能够使用不同语言编写的程序或函数在它们之间进行通信。

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


A:哦,是的,这就是力量ZeroMQ or nanomsg构架

这两个都是not sockets反而行为在一个上下文中创建Zero-*——一组勇敢的格言S可扩展的Formal C沟通Pattern F框架的设计、开发和微调以满足。

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

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

不管您的第一印象如何,您都会忘记有关套接字和多线程同步技巧的任何知识。

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

以 Pieter HINTJENS 为例book“Code Connected,卷 1”(可在PDF)并花了几周的时间来理解 Pieter 为这本 ZeroMQ 必读圣经所写的动机和典型错误。

代码片段是危险的如果您没有收到或完全错过了全上下文 of the 更大的图景。

相信我。我无法给你更好的建议。您可以查看我关于 ZeroMQ 和 nanomsg 的其他帖子,看看其中的区别。

您一定会从这本书中受益,ZeroMQ 将赋予您许多您永远不会(相信我永远不会)准备好自己从头开始编程的能力。力量是如此巨大(如果好好利用的话).


nota bene

对于现实世界的进程间通信,有一个小问题需要注意。各种 ZeroMQ 版本的互操作性。是的,ZeroMQ 的力量是巨大的,但是,有必要在消息传递层中保留内置的版本控制,以便解决某些平台没有可用的“较新”版本的更新路径的情况。通过将交易系统与组件重新集成来解决这个问题,该组件的历史可以追溯到zmq.__version__ == 2.1.11是必要的,而最近的版本远高于14.x.y,从而保证100%端到端向后兼容。

尽管如此,整体潜力仍然巨大,坚持下去并完成工作是有意义的。总帐对此。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

了解 ZeroMQ 的相关文章

  • (py)zmq/PUB:是否可以立即调用 connect() 然后调用 send() 并且不会丢失消息?

    使用这段代码 我总是会丢失消息 def publish frontend url message context zmq Context socket context socket zmq PUB socket connect fronte
  • 无法安装 PyZMP for Python -- 依赖项

    我在安装 iPython 的 PyZMP 依赖项时遇到问题 我尝试了很多方法 例如使用 pip brew 但最终还是使用手动安装包这个答案 Now pip list packages产生以下结果 pyzmq 14 2 0 dev pyzmq
  • 每个线程或每个调用一个 ZeroMQ 套接字?

    众所周知 ZeroMQ套接字不得共享应用程序线程之间 context t但实例可以 我有一个多线程应用程序 我想让每个线程不时与一个线程交换消息REQ REP socket 对方 事件 异常等 取决于他们正在做什么 他们正在做非 ZeroM
  • 我如何利用 ZeroMQ 编写自己的 Protocol Buffers RPC 实现

    根据 下的 Google Protocol Buffers 文档定义服务 https developers google com protocol buffers docs proto3 services 他们说 也可以将协议缓冲区与您自己
  • PHP WebSocket ZMQ - 聊天操作 - 向特定用户发送数据

    我正在开发一个基于 Symfony 2 2 11 的 PHP 项目 我安装了与以下教程相关的 socketohttp socketo me docs install http socketo me docs install使我的聊天脚本正常
  • ZeroMQ 中的 N 到 N 异步模式?

    尽管我阅读了该指南 但我找不到执行以下操作的方法 我们有n个出版商 我们有 m 个订户 每个订阅者订阅某种类型的消息 一个发布者可以发送多种消息 多个发布者可以发出相同类型的消息 如何在 0MQ 中创建 N 到 N 或 N 到 1 到 N
  • 如何监控ZeroMQ服务器是否存在?

    我想在发送 ZeroMQ 请求之前检查服务器的存在 状态 但我不知道该怎么做 Q 我想在发送 ZeroMQ 请求之前检查服务器的存在 状态 解决方案是设置并使用zmq socket monitor Read one event off th
  • 适用于 Windows 的 Zeromq PHP 扩展

    我正在使用配置了 IIS 7 5 的 Zend 服务器 我搜索了 edit Zeromq php 扩展 我找到了这些http valokuva org builds http valokuva org builds and http sna
  • Linux重启后nodejs消失了

    我刚刚使用 nvm 安装了 nodejs 版本 0 10 14 它安装成功 同样在安装nodejs之前 我安装了zeromq版本2 2 0 出于测试目的 我尝试运行下面的基本酒吧示例 var zmq require zmq var sock
  • ipc:// 上的 ZeroMQ REQ/REP 和并发性

    我使用 REQ REP 0MQ ipc 套接字实现了一个 JSON RPC 服务器 我遇到了奇怪的行为 我怀疑这是由于 ipc 底层 unix 套接字不是真正的套接字 而是一个事实一根管子 根据文档 必须强制执行严格的 zmq send z
  • php-zmq 未显示在 phpinfo() 页面上

    我在 Windows 上使用 Wamp Server 并安装了 zmq 库 当我在控制台上编写 php info 时 我看到 zmq 显示为已安装 zmq ZMQ 扩展 gt 已启用 ZMQ 扩展版本 gt 1 1 2 libzmq 版本
  • clrzmq 在 Xamarin Studios/C# 应用程序中找不到 libzmq

    我在 Mac 上使用 Xamarin Studio clrzmq通过 NuGet 包含 libzmq dll 上的 clrzmq 引用 我的应用程序编译得很好 但是当我尝试运行它时 我得到了这个 Unhandled Exception Sy
  • Jupyter 和 Common Lisp

    我正在尝试安装cl jupyter https github com fredokun cl jupyter common lisp 内核Jupyter http jupyter org 我无法让它工作 当我打开一个新的 lisp 笔记本
  • 应用程序在 iOS 6 上崩溃:找不到符号:___sync_fetch_and_add_4

    我有一个与 iOS4 和 iOS5 完美配合的应用程序 它使用针对 ARM 的 Zeromq 库的静态编译版本 Apple 拒绝了我的应用程序 因为他们声称它在 iOS 6 下崩溃 尚未发布 wth 在使用 iOS 6 GM 尝试之后 我可
  • 我需要做什么才能让 ZMQ_RADIO / ZMQ_DISH 正常工作?

    我正在尝试使用 ZMQ 草案规范ZMQ RADIO and ZMQ DISH 我用 CMake 构建了 libzmq 和 cppzmqExternalProject和旗帜ENABLE DRAFTS ON并验证它是使用草稿建造的zmq has
  • 创建的线程数超出预期

    你可以找到该程序here https pastebin com H5fq732a 我正在消息传递框架 0MQ 中构建一个程序 我尝试执行我发布的内容here https stackoverflow com questions 4409620
  • 是否可以在 Arduino 上运行 ZeroMQ

    我想知道是否可以通过 ZeroMQ 与 Arduino 进行通信 我想使用 Arduino 来控制一些设备 并希望将大部分应用程序放在计算机上 为此 如果 Arduino 和控制器可以通过 Zeromq 以及 WiFi 或以太网扩展板进行通
  • REQ/REP 模式中的 ZeroMQ FiniteStateMachineException

    我有两个简单的组件 它们应该使用 REQ REP ZeroMQ 模式相互通信 服务器 REP Socket 是使用 pyzmq 在 Python 中实现的 import zmq def launch server print Launchi
  • ZeroMQ在多线程应用程序中处理中断

    多线程环境下ZeroMQ的优雅退出 规格 带有 c 11 的 ubuntu 16 04 libzmq 4 2 3 示例代码 static int s interrupted 0 static void s signal handler in
  • Redis Cluster 与 Pub/Sub 中的 ZeroMQ,用于水平扩展的分布式系统

    如果我要设计一个巨大的分布式系统 其吞吐量应随系统中的订阅者数量和通道数量线性扩展 哪个会更好 1 Redis集群 仅适用于Redis 3 0 alpha 如果是集群模式 您可以在一个节点上发布并在另一个完全不同的节点上订阅 消息将传播并到

随机推荐

  • 如何在Javascript中检查点是否在多边形中

    我遇到了这段 C 代码 我认为 这应该是检查一个点是否在concave or convex多边形 我想将其转换为 JS 等效函数以在我的 JS 程序中使用 int pnpoly int nvert float vertx float ver
  • 处理 Promise 内错误的正确方法

    目前 我正在尝试决定在处理 Promise 内的错误时应该使用哪种模式 例如 我有下面的代码 promiseFunc then result gt console info THEN result catch error gt consol
  • 将文本围绕 ImageSpan 中心垂直对齐

    我有一个ImageSpan一段文字里面 我注意到周围的文本总是绘制在文本行的底部 更准确地说 文本行的大小随着图像的增长而增长 但文本的基线不会向上移动 当图像明显大于文本大小时 效果就相当难看 Here is a sample the o
  • exe 中的 DllMain?

    是否可以在不使用任何额外的 dll 的情况下接收 DllMain 之类的关于独立 exe 中线程附加 分离的通知 Edit 这只是一个理论问题 与我正在进行的一些测试有关 不是现实生活中的情况 没有在线程上运行并加载可执行文件的外部代码 因
  • 在 Xcode 中从 Cern 设置 ROOT,正确链接库

    我想在 Xcode IDE 中从 CERN 设置 ROOT 但链接库时遇到问题 我使用 root 6 04 14 和 xcode 7 3 我创建了一个模拟项目 其中只有一个 cpp 其中包含根目录中的基本类 include TFile h
  • Erlang中如何进行日期格式之间的转换?

    我有一个函数 名为test 返回一个日期 我给你举一个这种回报的例子 2012 年 6 月 1 日 现在我想以这种形式将此日期设为月 年 所以 01 June 2012 应该变成 06 2012 因为我想用这个日期发送短信 send To
  • Java 8 lambda 表达式和一流值

    Java 8 闭包真的是一流的值还是它们只是语法糖 我想说 Java 8 闭包 Lambdas 既不是单纯的语法糖 也不是一流的值 我已经在一篇文章中解决了语法糖的问题answer另一个 StackExchange 问题 至于 lambda
  • GO结构定义中的字符串文字[重复]

    这个问题在这里已经有答案了 在这个结构体定义中 type API struct Message string json message 该字符串的含义是什么 json 消息 以及如何访问它 如果可以访问 先感谢您 这些是结构标签 该结构标记
  • 更改 foreach 内的集合

    这是我的代码 foreach OrderItem item in OrderInfo order orderItemViews Single i gt i numericUpDown Name item id ToString numeri
  • Excel VBA - 合并一个单元格中具有重复值的行并合并其他单元格中的值

    我试图在一列中查找重复值并将第二列的值合并到一行中 我还想对第三列中的值求和 例如 A B C D h 4 w 3 h 4 u 5 h 4 g 7 h 4 f 4 k 9 t 6 k 9 o 6 k 9 p 9 k 9 j 1 会成为 A
  • 如何打印列表更加美观?

    这类似于如何在 Python 中 漂亮地 打印列表 但我想更好地打印列表 没有括号 撇号和逗号 甚至在列中更好 foolist exiv2 devel mingw libs tcltk demos fcgi netcdf pdcurses
  • 使用 sf 围绕点(质心)创建网格

    我有 EURO CORDEX 气候数据 该数据位于 11 度旋转的极网格上 我通过将投影转换为 WGS84 来预先准备好这些数据 数据以点的形式出现 代表方形网格的质心 我需要创建围绕这些点的方形网格 我已经导出了实现此目的的通用方法 但网
  • 命令“C:\Main\Src\.nuget\nuget.exe Restore -SolutionDirectory ..\”退出,代码为 1

    一个多星期以来 我一直在努力让 NuGet 正常工作 我终于让它可以在本地构建上运行 但不能在 TFS 2013 构建上运行 我将范围缩小到 NuGet 在团队构建期间没有发生 但是当我添加时 SolutionDir nuget nuget
  • C 中的文件处理 - 从文本文件列表中删除特定单词

    我使用以下代码从我的基本 C 程序填充一个简短的字典 void main FILE fp fp fopen c CTEMP Dictionary2 txt w fprintf fp Word to Dictionary 然而 我也希望删除某
  • React 应用程序中的handleCategoryClick 和handleSearchChange 问题

    我正在开发一个 React 应用程序 我已经实现了两个功能 handleCategoryClick and handleSearchChange 分别处理类别选择和搜索功能 在登陆页面上 这两个功能都可以完美运行 但是 当导航到另一个页面时
  • Struts 2 和 Hibernate 中的异常处理

    假设我们用Struts 2 Hibernate MySQL开发了一个网站 并且我们添加了一些try catch这里的块包含通过 Hibernate 进行的数据库调用 我的问题是 在 catch 块内 我正在向记录器发送适当的消息 这里我们不
  • 仅 Spring-MVC 需要哪些 jar?

    我需要在我的临时项目中运行 Spring MVC 同时我有最小的内存区域来存储所有的 jar 文件 所以任何人推荐我只需要 Spring MVC 而不是任何其他 jar 文件 提前致谢 根据maven spring webmvc3 1 2需
  • 将 UIImage 从 BGR 转换为 RGB

    正如标题所示 我在某些 UIImage 颜色空间转换方面遇到了一些麻烦 TL DR 版本是我需要一种将 BGR 格式的 UIIMage 转换为 RGB 的方法 这是我的应用程序中的事件流程 应用程序 获取图像 应用程序 转换为base64并
  • 在汇编中操作字符串 (MASM)

    data source BYTE Defense mechanism 0 target BYTE SIZEOF source DUP 0 code main PROC mov esi OFFSET target mov edi OFFSET
  • 了解 ZeroMQ

    因此 正如我在上一篇文章中所问的那样 我希望能够使用不同语言编写的程序或函数在它们之间进行通信 我最近遇到了 Zeromq 我试图弄清楚这是否可以帮助我 因为它提供了某种套接字 例如 zeromq 可以在用 python 编写的程序与用 C