您现在的位置是:首页 > 正文

不同语言程序 zmq 通信遇到的问题

2024-01-30 22:30:32阅读 0

工作中用到了golang写一个opc 客户端,从opc server获取数据,并格式化成内部通用格式,屏蔽外差异。

用到了golang的zmq ,作为 publish server。
以前客户端是用python写的,用的是subscribe模式。

但是有一个问题,python 的zmq 的发送接收有很多方法,send(), send_json(), send_multipart(),而golang 的zmq只有一个send()。

python subscribe 用的是recv_multipart(),收到的是一个列表,第一个值是订阅的Topic,第二个是数据。
那么golang用zmq应该怎么发呢? 通过查看python 版 zmq的 send_multipart() 函数源码发现,python 其实也只有一个send(),其它方式是自己加的,用了flag SNDMORE。

// golang code
_, err = socket.Send(topic, zmq.SNDMORE)
_, err = socket.Send(data, 0)

这样python的 recv.multipart() 就能正确的收到了

网站文章

  • linux下java代码中执行R代码或函数(二)

    前言以下代码在redhat 6.4,jdk 1.7,R 3.1.2下运行通过。在linux下使用rJava比在windows下繁琐一些,如果初次调用,会遇到各种问题。作为一个经典的插件,请坚信这些问题都可以找到解决方案,你需要的就是耐心地google一个又一个关键字。未完待续。。。引用文章参考以下博客,感谢原作者的分享: [1] 终于搞定Java调用R了 [2] 安装rJava包失败处理方法

    2024-01-30 22:30:25
  • kudu-列式存储管理器-第三篇

    1、kudu-分区方式 为了提供可扩展性,Kudu 表被划分为称为 tablets 的单元,并分布在许多 tablet servers 上。行总是属于单个 tablet 。将行分配给 tablet 的方法由在表创建期间设置的表的分区决定。 kudu提供了3种分区方式: 1.1、Range Partitioning ( 范围分区 ) 1.1.1、Range Partitioning ( 范围...

    2024-01-30 22:29:55
  • sql语句使用in条件查询时结果为多个mybatis返回一个的问题分析

    sql语句使用in条件查询时结果为多个mybatis返回一个的问题分析

    sql语句使用in条件查询时结果为多个mybatis返回一个的问题分析

    2024-01-30 22:29:48
  • 调度、模型、同步与任务——阿里云大数据数仓建设性能优化方案

    调度、模型、同步与任务——阿里云大数据数仓建设性能优化方案

    摘要: 对于阿里云大数据数仓建设性能优化而言,主要可以从调度优化、模型优化、同步优化以及任务优化这四个方面着手。其实,对于性能优化而言,最终还是会归结到“资源”之上,所以资源是否足够,分配是否合理也是...

    2024-01-30 22:29:41
  • SublimeText3: ImportError: No module named ‘urllib2′ 热门推荐

    使用sublime text的同学一般会装package control这个插件,这个插件是管理插件的功能,先安装它,再安装其他插件就方便了。 console安装命令: import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();

    2024-01-30 22:29:06
  • strictfp关键字和clone()方法

    strictfp关键字和clone()方法

    strictfp 关键字<strict float point (精确浮点)>1.可以用在哪里接口类方法2.有什么作用?使用 strictfp 关键字声明一个方法时,该方法中所有的float和doub...

    2024-01-30 22:28:57
  • 如何查看服务器的型号

    如何查看服务器的型号

    2024-01-30 22:28:29
  • Kafka的监听地址配置

    Kafka的监听地址配置

    本文就用Kafka 2.8.有时我们会碰到网络是通畅的,但却连不上Kafka,特别是在多网卡环境或者云环境上很容易出现。这个其实和Kafka的监听配置有关系。本文介绍监听相关的配置。目前监听相关的参数...

    2024-01-30 22:28:22
  • 【大一程序设计基础作业】P266Ex3

    【大一程序设计基础作业】P266Ex3

    遍历则是让这个小机器人通过循环语句顺着一个个结点走下去,在循环语句结束之后,他会停在这一系列结点的后面,此时我们就要把它收回来,让他休息一下,也就是让ptr指向空指针。最值则是先读取头结点中的数据,装...

    2024-01-30 22:28:14
  • LeNet模型——tensorflow实现

    LeNet模型——tensorflow实现

    文章目录MNIST数据集MNIST数据集简介MNIST数据集加载MNIST数据集可视化数据集格式转换tendorflow模型类ModelSequetial卷积类Conv2D池化类AveragePool...

    2024-01-30 22:27:44