【精品教程】ZeroMQ中C++与Python通信

  • A+
所属分类:C/C++ Python

【精品教程】ZeroMQ中C++与Python通信

原文参考:http://osdevlab.blogspot.com/2015/12/how-to-send-message-between-c-and.html

本文解决的问题是:使用ZeroMQ,如何在C++与Python中进行消息通信呢?

我们以C++为服务端,Python为客户端。

首先我们要在服务端安装如下的一些包。

  • ZeroMQ
  • gcc 4.8或者更高的版本
  • Cmake
  • Pyzmp

如何安装上述依赖包呢?

点击此处学会安装ZeroMQ

点击此处学会安装Gcc 4.8

点击此处学会安装Cmake

点击此处学会安装Pyzmq

 

通信场景

客户端使用connect去连接到服务端,服务端使用bind函数绑定服务端ip。在本文中,服务端绑定的是"localhost"。如果需要通过局域网访问服务端,那么要访问服务端的真实局域网ip,比如"tcp://192.168.1.104:5555"

 

Python客户端开发

我们使用gedit进行client.py代码编写:

client.py内容为:

然后保存退出即可,这样客户端代码便完成了。

 

C++服务端开发

在c++中,我们同样使用gedit来编辑代码:

 

然后main.cpp的代码内容为:

然后我们创建一份CMake文件,键入如下命令:

CMakeLists.txt内容为:

现在我们要用CMake编译程序。假设我们仍然在ServerProgram文件夹中。

成功编译后,您应该在终端上看到以下几行

测试

我们将首先运行客户端程序。转到我们第一次创建的ClientProgram文件夹。然后运行程序。

然后在终端中使用快捷键"Ctrl+Alt+T"新开一个shell窗口,输入如下命令启动C++服务端:

一旦这两个程序开始运行。你应该看到这些输出。你应该从服务器端看到这个输出:

你应该从客户端看到这个输出:

注意:一旦程序完成循环,客户端程序将退出。但是,服务器将不断收听任何传入的消息。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: