使用python3如何实现ZeroMQ的三种模式

  介绍

这篇文章将为大家详细讲解有关使用python3如何实现ZeroMQ的三种模式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

python是什么意思

python是一种跨平台的,具有解释性,编译性,互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

ZeroMQ是一个消息队列网络库,实现网络常用技术封装。在C/S中实现了三种模式,这段时间用python简单实现了一下,感觉python虽然灵活。但是数据处理不如c++自由灵活。

<强>请求-应答模式:

客户端在请求后,服务端必须回响应

使用python3如何实现ZeroMQ的三种模式

<强>服务器:

#, - *编码:utf-8  - * -      import  zmq       时间=context  zmq.Context ()   时间=socket  context.socket (zmq.REP)   socket.bind (“tcp://*: 5555“)      while 真正的:=,,message  socket.recv ()   ,print (消息)   ,socket.send (“server 响应!“.encode (& # 39; utf - 8 # 39;))

<强>客户端:

#, - *编码:utf-8  - * -      import  zmq   import 系统      时间=context  zmq.Context ()   时间=socket  context.socket (zmq.REQ)   socket.connect (“tcp://localhost: 5555“)      而(真正的):=,data 输入(“input  your 数据:“)==,if  data  & # 39;提问# 39;:   sys.exit才能()      ,打印(数据)   ,socket.send (data.encode (& # 39; utf - 8 # 39;))=,,response  socket.recv ();   之前,print (响应)

<强>发布-订阅模式:

广播所有客户,没有队列缓存,断开连接数据将永远丢失.client可以进行数据过滤。

使用python3如何实现ZeroMQ的三种模式

<强>服务器:

#, - *编码:utf-8  - * -      import  zmq    时间=context  zmq.Context (),   时间=socket  context.socket (zmq.PUB),   socket.bind (“tcp://127.0.0.1:5000"),   while 真正的:,=,data 输入(& # 39;input  your 数据:& # 39;)   ,socket.send (data.encode (& # 39; utf - 8 # 39;))

<强>客户端:

#, - *编码:utf-8  - * -      import 时间   import  zmq    时间=context  zmq.Context (),   时间=socket  context.socket (zmq.SUB),   socket.connect (“tcp://127.0.0.1:5000"),   socket.setsockopt (zmq.SUBSCRIBE, & # 39; & # 39; .encode (& # 39; utf - 8 # 39;)),   while 真正的:,   ,print (socket.recv ())

<强>平行管道模式:

由三部分组成,推进行数据推送,工作进行数据缓存,拉进行数据竞争获取处理。区别于发布-订阅存在一个数据缓存和处理负载。

当连接被断开,数据不会丢失,重连后数据继续发送到对端

使用python3如何实现ZeroMQ的三种模式

<强>服务器:

#, - *编码:utf-8  - * -      import  zmq      时间=context  zmq.Context ()      时间=recive  context.socket (zmq.PULL)   recive.connect (& # 39; tcp://127.0.0.1:5558& # 39;)         while 真正的:=,,data  recive.recv ()   ,打印(数据)

<强>工作:

#, - *编码:utf-8  - * -      import  zmq      时间=context  zmq.Context ()      时间=recive  context.socket (zmq.PULL)   recive.connect (& # 39; tcp://127.0.0.1:5557& # 39;)      时间=sender  context.socket (zmq.PUSH)   sender.connect (& # 39; tcp://127.0.0.1:5558& # 39;)      while 真正的:=,,data  recive.recv ()   ,打印(数据)   之前,sender.send(数据)

<强>客户端:

#, - *编码:utf-8  - * -   import  zmq   import 时间      时间=context  zmq.Context ()   时间=socket  context.socket (zmq.PUSH)      socket.bind (& # 39; tcp://*: 5557 & # 39;)      while 真正的:=,data 输入(& # 39;input  your 数据:& # 39;)   ,打印(数据)   ,socket.send (data.encode (& # 39; utf - 8 # 39;))

使用python3如何实现ZeroMQ的三种模式