当前位置: 首页 > news >正文

Jetson Linux 上安装ZMQ

1. 安装ZMQ 框架

apt-get install libzmq3-dev

2. 或者自己build ZMQ

https://github.com/zeromq/libzmq.git

参考官网教程

3. 安装CPPZMQ

CPPZMQ 是ZMQ 的友好的C++封装,只需要一个zmq.hpp 头文件即可

git clone https://github.com/zeromq/cppzmq.git 
cd cppzmq
mkdir build
cd build
cmake ..
make
sudo make install 

4. 一个简单的demo

cmake_minimum_required(VERSION 3.0)
project(ZeroMQ_Client)# 设置 C++ 标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)# 查找 ZeroMQ 库
find_package(PkgConfig REQUIRED)
pkg_check_modules(ZMQ REQUIRED libzmq)find_package(cppzmq REQUIRED)
# 添加可执行文件include_directories(${cppzmq_INCLUDE_DIR}
)add_executable(client main.cpp)# 链接 ZeroMQ 库
target_link_libraries(client PUBLIC
${cppzmq_LIBRARY}
${ZMQ_LIBRARIES}
)
#include <zmq.hpp>
#include <iostream>class Client {
public:Client(const std::string& server_address) : context_(1), socket_(context_, ZMQ_REQ) {socket_.connect(server_address);std::cout << "Connected" << std::endl;}void sendCommand(const std::string& command, const std::string& model_path) {// 发送命令zmq::message_t request(command.size());memcpy(request.data(), command.c_str(), command.size());socket_.send(request);// 等待服务器响应zmq::message_t reply;socket_.recv(&reply);if (std::string(static_cast<char*>(reply.data()), reply.size()) == "pong") {// 发送模型路径zmq::message_t modelRequest(model_path.size());memcpy(modelRequest.data(), model_path.c_str(), model_path.size());socket_.send(modelRequest);// 接收服务器对模型路径的处理结果socket_.recv(&reply);if (std::string(static_cast<char*>(reply.data()), reply.size()) == "OK") {std::cout << "Model loaded successfully" << std::endl;} else {std::cout << "Failed to load model" << std::endl;}}}private:zmq::context_t context_;zmq::socket_t socket_;
};int main() {// 服务器地址std::string server_address = "tcp://127.0.0.1:2222";// 创建客户端实例Client client(server_address);// 发送命令和模型路径std::string command = "ping";std::string model_path = "cyto2torch_0";client.sendCommand(command, model_path);return 0;
}

http://www.lryc.cn/news/373789.html

相关文章:

  • 【Pycharm】设置双击打开文件
  • Web前端后端架构:构建高效、稳定与可扩展的互联网应用
  • 数据仓库核心:事实表深度解析与设计指南
  • Reactor和epoll
  • Mybatis-Plus多种批量插入方案对比
  • 数据库面试
  • 探索Web Components
  • 摄影师在人工智能竞赛中与机器较量并获胜
  • CMU最新论文:机器人智慧流畅的躲避障碍物论文详细讲解
  • Spring中自定义注解进行类方法增强
  • TS:元组
  • 微服务 | Springboot整合Dubbo+Nacos实现RPC调用
  • 读书的意义
  • 第66集《摄大乘论》
  • VMware 桥接网络突然无法上网
  • 面试题——Redis
  • Java——构造器(构造方法)和 this
  • MySQL-连接查询
  • 适合小白学习的项目1832javaERP管理系统之仓库采购管理Myeclipse开发mysql数据库servlet结构java编程计算机网页项目
  • 分布式技术导论 — 探索分析从起源到现今的巅峰之旅(分布式技术)
  • 基于Python+OpenCV+SVM车牌识别系统(GUI界面)【W3】
  • ansible.cfg forks参数
  • Web前端写随机抽奖:技术与创意的碰撞
  • Centos系统yum安装mysql数据库
  • 使用Selenium进行Web自动化:详细操作指南
  • 手机照片免费数据恢复软件EasyRecovery2024免费版下载
  • 【工具】新手如何正确使用Pycharm?
  • 【JavaEE精炼宝库】多线程(6)线程池
  • 数据仓库和数据库的区别
  • 芯片验证分享7 —— 代码审查1