基于net6的zmq调试工具

news2024/11/23 15:18:32

0.前言

最近在做CS架构的上位机控制软件,服务端和客户端是通过zmq进行通讯的,网上现有的工具都是tcp、串口的调试工具,一直没有找到一个合适的zmq调试工具。就使用C#语言开发了这个简易的zmq调试工具,项目地址ZmqDebuggerTool。

1.主要功能

  1. zmq4种通讯模式
  2. 通过订阅主题进行订阅数据筛选,主要机制是删选关键字
  3. 选择Text和Hex两种不同发送和接收模式
    在这里插入图片描述

2.配置文件
appsetting.json

{
  "RequestAddress": "tcp://localhost:3000",
  "RequestOrders": [
    {
      "Title": "设置参数_单次测量",
      "Message": {
        "theme": "setMeasureParams",
        "param": {
          "measureMode": "单次测量",
          //样品信息,为了和其它命名一致的妥协结果
          "sampleInformation": "JGSC-BTF",
          //采样次数
          "sampleCount": 100
        }
      }
    },
    {
      "Title": "设置参数_采集光谱",
      "Message": {
        "theme": "setMeasureParams",
        "param": {
          "measureMode": "采集光谱",
          //样品信息,为了和其它命名一致的妥协结果
          "sampleInformation": "JGSC-BTF",
          //采样次数
          "sampleCount": 100
        }
      }
    },
    {
      "Title": "启动测量",
      "Message": {
        "theme": "measureControl",
        //startMeasure stopMeasure
        "param": "startMeasure"
      }
    },
    {
      "Title": "停止测量",
      "Message": {
        "theme": "measureControl",
        //startMeasure stopMeasure
        "param": "stopMeasure"
      }
    }
  ],
  "ResponseAddress": "tcp://*:3000",
  "ResponseOrders": [
    {
      "Title": "准备测量",
      "Message": "120 156 99 96 0 3 190 192 99 145 236 185 222 19 207 51 232 129 32 0 38 145 4 40"
    },
    {
      "Title": "更新进度",
      "Message": "120 156 99 96 96 96 116 16 97 0 3 0 2 161 0 86"
    },
    {
      "Title": "本次测量结束",
      "Message": "120 156 99 96 0 3 190 116 157 108 197 92 239 137 231 235 46 167 199 255 103 4 0 44 22 6 93"
    }
  ],
  "SubscriberAddress": "tcp://localhost:2000",
  "SubscriberOrders": [
    {
      "Title": "准备测量",
      "Message": "120 156 99 96 0 3 190 192 99 145 236 185 222 19 207 51 232 129 32 0 38 145 4 40"
    },
    {
      "Title": "更新进度",
      "Message": "120 156 99 96 96 96 116 16 97 0 3 0 2 161 0 86"
    },
    {
      "Title": "本次测量结束",
      "Message": "120 156 99 96 0 3 190 116 157 108 197 92 239 137 231 235 46 167 199 255 103 4 0 44 22 6 93"
    }
  ],
  "PublisherAddress": "tcp://*:2000",
  "PublishOrders": [
    {
      "Title": "准备测量",
      "Message": "120 156 99 96 0 3 190 192 99 145 236 185 222 19 207 51 232 129 32 0 38 145 4 40"
    },
    {
      "Title": "更新进度",
      "Message": "120 156 99 96 96 96 116 16 97 0 3 0 2 161 0 86"
    },
    {
      "Title": "本次测量结束",
      "Message": "120 156 99 96 0 3 190 116 157 108 197 92 239 137 231 235 46 167 199 255 103 4 0 44 22 6 93"
    }
  ]
}

通过修改不同值进行地址和发送参数的配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1317884.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

这一篇就够了!全套SpringBoot教程02

SpringBoot运维实用篇 基础篇发布以后,看到了很多小伙伴在网上的留言,也帮助超过100位小伙伴解决了一些遇到的问题,并且已经发现了部分问题具有典型性,预计将有些问题在后面篇章的合适位置添加到本套课程中,作为解决方…

app分发平台哪个好点?手机app应用内测分发平台支持负载均衡的重要性

随着互联网的快速发展,内测分发平台扮演着越来越重要的角色。而在现代应用程序的开发和运营过程中,负载均衡技术是不可或缺的一部分。内测分发平台支持负载均衡对于提高系统的稳定性、可靠性和性能至关重要。那么什么是负载均衡又有哪些重要性。 图片来源…

FPGA设计时序约束十二、Set_Clock_Sense

目录 一、序言 二、Set Clock Sense 2.1 基本概念 2.2 设置界面 2.3 命令语法 2.4 命令示例 三、工程示例 3.1 工程代码 3.2 无set_clock_sense 3.3 设置set_clock_sense 四、参考资料 一、序言 本章将介绍Set_Clock_Sense约束,在介绍约束之前&#xff0…

【上海大学数字逻辑实验报告】七、中规模元件及综合设计

一、实验目的 掌握中规模时序元件的测试。学会在Quartus II上设计序列发生器。 二、实验原理 74LS161是四位可预置数二进制加计数器,采用16引脚双列直插式封装的中规模集成电路,其外形如下图所示: 其各引脚功能为: 异步复位输…

cmd命令bat脚本隐藏执行窗口

家里一直都有远程开3389的需要,一直使用的是frp. 最近发现总是经常掉线。也不清楚原因,后调查出来原来是由于 我命令行窗口一般启动的比较多,有时候就会去点一下(选择复制内容),如下: 有时候…

解决:Invalid bound statement (not found): com.XXXXX.UserMapper.countUser

问题:Invalid bound statement (not found): com.XXXXX.UserMapper.countUser 原因:mapper.java和mapper.xml映射不上 解决方法: 1、在application.properties全局配置文件中没有加上映射mapper文件的配置,mapper为resources下的文件&…

可以给网站任意位置添加4个区块源码

在网站里添加html区块把html里的代码复制进去,然后把3、4、5行的CSS和JS修改成网站对应目录就行了

十七、如何将MapReduce程序提交到YARN运行

1、启动某个节点的某一个用户 hadoopnode1:~$ jps 13025 Jps hadoopnode1:~$ yarn --daemon start resourcemanager hadoopnode1:~$ jps 13170 ResourceManager 13253 Jps hadoopnode1:~$ yarn --daemon start nodemanager hadoopnode1:~$ jps 13170 ResourceManager 15062 Jp…

MATLAB2022安装下载教程

安装包需从夸克网盘自取: 链接:https://pan.quark.cn/s/373ffc9213a1 提取码:N7PW 1.将安装包解压 2.以管理员的身份运行文件夹中的setup文件 3.点击高级选项--->我有文件安装密钥 4. 选择【是】,进入下一步 5.输入密钥 0532…

汽车发动机市场调研:预计2029年将达到642亿美元

过去汽车发动机行业快速发展,很多产品都出现供不应求,甚至加价销售的状况,而随着产能过剩、需求下滑,未来汽车发动机行业的价格竞争将愈发激烈,形成新的供需矛盾。根据动力源类型,汽车可分类为传统燃油汽车…

819. 最常见的单词

819. 最常见的单词 Java:split() 过滤 class Solution {public String mostCommonWord(String paragraph, String[] banned) {String s paragraph.replaceAll("\\p{Punct}", " "); // 去除所有标点符号String arr[] s.split(" "…

C语言:求和1+1/2-1/3+1/4-1/5+……-1/99+1/100

#include<stdio.h> int main() {int i 0;double sum 0.0;int flag 1;for (i 1;i < 100;i){sum 1.0 / i * flag;flag -flag;}printf("sum%lf\n", sum);return 0; }

学习MS Dynamics AX 2012编程开发 2. X++语言

X是用于构建Dynamics AX功能的编程语言。X是一种与C类似的面向对象编程语言。 完成本章后&#xff0c;您将能够理解X语言&#xff1b;您将知道可用的数据类型是什么&#xff0c;如何创建各种循环&#xff0c;如何比较和操作变量&#xff0c;在哪里可以找到预定义的函数&#x…

OpenCV开发:MacOS源码编译opencv,生成支持java、python、c++各版本依赖库

OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习软件库。它为开发者提供了丰富的工具和函数&#xff0c;用于处理图像和视频数据&#xff0c;以及执行各种计算机视觉任务。 以下是 OpenCV 的一些主要特点和功能&#xff…

【JavaWeb学习笔记】11 - WEB工程路径专题

一、工程路径问题 1.引入该问题 通过这几个去访问很麻烦 二、工程路径解决方案 1.相对路径 1.说明:使用相对路径来解决&#xff0c;一 个非常重要的规则:页面所有的相对路径&#xff0c;在默认情况下&#xff0c;都会参考当前浏览器地址栏的路径http:/ /ip:port/工程名/来进…

【教3妹学编程-算法题】找到 Alice 和 Bob 可以相遇的建筑

插&#xff1a; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家一起学习鸭~~~ 3妹&#xff1a;好冷啊&#xff0c; 冻得瑟瑟发抖啦 2…

ES6 面试题 | 15.精选 ES6 面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

服务端主动给客户端发消息?实战教学:使用Nestjs实现服务端推送SSE

前言 服务端消息推送SSE是常用的服务器消息通信手段&#xff0c;适用于服务器主动给客户端发送消息的场景&#xff0c;例如私信通知&#xff0c;扫描登录等都可以使用SSE实现。SSE的底层原理是客户端与服务端建立 HTTP 长链接。 Nestjs 框架内置了对SSE的支持&#xff0c;本文…

Java实现对图片压缩指定大小。比如1260*945。如果图片尺寸大于,就压缩。小于,就拉伸到指定大小

需求&#xff1a; Java实现对图片压缩指定大小。比如1260*945。如果图片尺寸大于&#xff0c;就压缩。小于&#xff0c;就拉伸到指定大小 代码实现&#xff1a; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.F…

【深度强化学习】确定性策略梯度算法 DDPG

前面讲到如 REINFORCE&#xff0c;Actor-Critic&#xff0c;TRPO&#xff0c;PPO 等算法&#xff0c;它们都是随机性策略梯度算法&#xff08;Stochastic policy&#xff09;&#xff0c;在广泛的任务上表现良好&#xff0c;因为这类方法鼓励了算法探索&#xff0c;给出的策略是…