python/zmq/monitor

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

此解决方案基于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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值