我一直在阅读文档,我似乎无法找到有关我的查询的任何信息。
我只需要发布者和订阅者的IP地址来跟踪,所以我可以……
的 [1] 强> 为你的灵感座右铭:“ 我们死的那一天是我们停止学习的那一天 “
可以有这样的事情:?
虽然API v4.2 +可以为设置提供一些帮助 的 PUB 强> - 应用程序代码知道实际设置/清理个人 的 SUB 强> 启动订阅(使用 的 XSUB 强> 可扩展的形式通信模式原型而不是 SUB ),但是 PUB/XPUB -side必须改变它的行为,以便处理这种重新安排的消息流。
PUB
SUB
XSUB
PUB/XPUB
这一部分更难,有许多运输类别,至少2018年至第二季度: 这些: 的 { inproc:// | ipc:// | tcp:// | pgm:// | epgm:// | vmci:// } 强> 因此,任何一方都很难配备一些魔法嗅探器来检测所有上述所需的软知识映射(实际上有效的主题过滤器掩码)与实际的传输类解码器一起嗅探。接下来,并非所有连接都容易被嗅探,是吗?
{ inproc:// | ipc:// | tcp:// | pgm:// | epgm:// | vmci:// }
如果您的应用程序需要以这种方式工作,可以扩展ZeroMQ工具并配备ZMTP / RFC'd协议解码器,以便为您的应用程序端程序提供这种低级别的信息,或者顶部级别的应用程序可以自我宣传他们各自的身份
( 然而,请注意 - 如图所示 的 [ ZeroMQ层次结构不到五秒钟 ] 强> 部分 - 一个ZeroMQ- 的 Context() 强> 实例可能有很多 的 zmq.Socket() 强> - 实例,每个实例可能有很多 - 的 切入点 强> -s,每个都可以使用不同的 的 运输类 强> 并可能得到 .bind()/.connect() - 许多不同的远程同行 的 切入点 强> -s,所以确实存在大量的拓扑形态 的 :O) 强> )
Context()
zmq.Socket()
.bind()/.connect()