此解决方案基于MonitoredQueue example from pyzmq doc
服务器绑定到端口5555
服务器将绑定到端口5555。与其他示例不同,我将保持服务器作为固定部分,而不会更改它连接到monitoredqueue。但是,这种交换不是问题,也不会产生任何问题(只要您正确地调整MonitoredQueue)。在
MonitoredQueue绑定到端口4444,连接到端口5555,在端口7777上发布流量
MonitoredQueue位于客户端和服务器之间。它监听端口4444,向服务器发送请求,并将响应发送回客户端。同时,任何经过的消息都将在PUB socket上以相应的前缀“in”或“out”发布。稍后我们将看到,这些不仅包含前缀和请求/响应,还包含客户端的标识。在
客户端连接到端口4444
客户机可以直接连接到5555端口上的服务器,但这不允许我们嗅探通信量。出于这个原因,我们将客户机连接到端口4444,在这里MonitoredQueue正在等待服务器和嗅探。在
您将看到,客户机和服务器不必更改一行代码即可参与此交换。在
实码
server.py
在我们的例子中,服务器需要一个可以转换为整数的字符串,并返回一个值加倍的字符串。在
import zmq
def double_server(server_url="tcp://*:5555"):
context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind(server_url)
print "server started

该博客介绍了如何使用PyZMQ库创建一个MonitoredQueue设备来监控客户端与服务器之间的通信。服务器运行在端口5555,MonitoredQueue作为中介监听4444端口,连接到5555,并在7777端口发布消息。客户端连接到4444端口进行通信。监控客户端通过7777端口接收和打印嗅探信息。MonitoredQueue允许在不影响通信的情况下进行消息嗅探,适用于系统监控和调试。
最低0.47元/天 解锁文章
82

被折叠的 条评论
为什么被折叠?



