【C++和py通信】

本文档详细介绍了如何在Windows环境下利用ZeroMQ实现C++和Python之间的通信。首先,介绍了ZeroMQ作为socket封装库的功能,并提供Gitee上的中文资源。接着,详述了配置步骤,包括安装pyzmq库、下载库文件和配置环境。在测试部分,给出了Python的Test.py和C++的SaveControl.c++示例代码,强调了线程管理和兼容性问题的解决方法。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

参考网址: Gitee上的中文介绍(比看官网英文好多了)
官网介绍(关注对应C++的cppzmq就行)
直接下编译好的库libzmq-v142-x64(只有4_3_4版本编好的库,其它版本要自己编)
查接口用法(官网的)
C++和python通信(Windows+ZeroMQ)

一、ZeroMQ是什么?

zmq是对socket进行封装的库,header-only的(和配置opencv环境差不多)用法像ROS的node,分server端和client端,通过请求和应答通信(像是阻塞函数,server会一直等待request)

二、使用步骤

1.配置

1.用于python的pyzmq库:cmd:

pip install pyzmq

可能会报错要先安装PyHamcrest,同样pip安装就好;

2.下载这些库:随便找个文件夹放
在这里插入图片描述
3.配置环境:
在这里插入图片描述

4.单独把两个.dll库copy放入工程下的x64 > Release下(前提覆盖率软件是Release的)

在这里插入图片描述
在这里插入图片描述

2.py测试

Test.py代码如下(示例):

# -*- coding: UTF-8 -*-
#测试py的client端
import zmq

def test():
    context = zmq.Context()  #创建上下文context,固定写法
    socket = context.socket(zmq.REQ) #创建socket,固定写法,客户端是REQ
    socket.connect("tcp://localhost:7777")  #连接,按需要修改7777,要和C++的对应,随便编个

    socket.send(b"Test")  #给服务端发送信息,b不能改,引号里面可以改,但没啥用   
    response = socket.recv()  #接受服务端返回的信息
    print(response)  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值