python – 识别ZMQ消息的来源?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 识别ZMQ消息的来源?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1005字,纯文字阅读大概需要2分钟。
内容图文
如果我通过ZeroMQ(0MQ)套接字上的recv()方法收到消息…
data = s.recv()
…有没有办法让我获得底层套接字的getpeername()值?我的目标是以不依赖发件人提供准确信息的方式识别邮件的来源.
我正在使用ZMQ(通过Python)来收集主机指标,从接收者的角度来看发送者的地址是一个有用的标识符.
或者这只是一个坏主意?
解决方法:
不,您无法从ZeroMq获取发件人的地址.你基本上有两个选择;将发件人地址信息添加到邮件本身(如果允许修改现有邮件结构,则不是错误选项)或将发件人地址添加为邮件部分,即使用ZeroMq多部分邮件.
多部分消息仍将作为一个整体传递(所有部分或根本不传递),但您可以在接收端单独提取部分,因此您可以将发件人地址附加或添加到任何现有消息,而无需实际触摸它们(并且仍将两个地址消息都作为原子操作传递).
我不确定这是如何在pyzmq绑定中实现的,但请查看socket.pyx source以获取详细信息(基本上,在send(..)方法中使用SNDMORE标志).
另外,看看ZeroMq zmq_send() Api文档(3.2.2).
在C中,它看起来像这样:
// Send a multi-part message consisting of sender IP plus another message
zmq_msg_send (&my_ip, my_socket, ZMQ_SNDMORE);
zmq_msg_send (&my_message, my_socket, 0);
内容总结
以上是互联网集市为您收集整理的python – 识别ZMQ消息的来源?全部内容,希望文章能够帮你解决python – 识别ZMQ消息的来源?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。