首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用TCP上的JeroMQ,有办法获取发送方的IP吗?

使用TCP上的JeroMQ,有办法获取发送方的IP吗?
EN

Stack Overflow用户
提问于 2017-12-21 19:51:30
回答 1查看 250关注 0票数 2

我们的应用程序使用JeroMQ 0.4.3在客户端应用程序和API之间发送消息。(用ZAuth进行曲线加密)。

我们从代理中的ROUTER套接字(MDP模式)获取客户端消息。

在代理中接收到消息时,找到发送方IP的最佳方法是什么?

ZMQ_SRCFD中,使用ZeroMQ消息选项和getpeername()似乎是可能的,但我还没有找到将其转换为JeroMQ的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-22 07:52:07

最近的ZMQ_SRCFD API确实定义了消息可能携带的ZeroMQ属性。

事实A)

我们永远不会确定ZeroMQ API的版本是什么( 2.x ~ 3.x ~ 4.2.2 ~?)直到2017年),远程系统才会使用,除非一些确实严格且具有入侵能力的版本强制执行策略已经到位并处于主动状态。

事实B)

最近的tcp://传输类ZeroMQ API定义如下:

ZMQ_SRCFD 返回读取消息的套接字的文件描述符。这允许应用程序通过getpeername(2).检索远程端点。请注意,相应的套接字可能已经是关闭甚至重用了。当前仅为TCP套接字实现。

事实C)

任何语言包装器或绑定,包括首选的JeroMQ或其他,都必须单独覆盖所选的作用域(无论是完整的还是部分的范围覆盖)。

如果在某个特定的语言端口/绑定版本中缺少一个特性,那么最好的下一步是评估扩展已发布的源代码的可行性,以便通过(re)-implementing语言端口/绑定来覆盖所希望的特性,以便最好地满足ZeroMQ发布规范中指定的API特性。

事实D)

在C)根据B表示的主要不确定性变得不可行或不完整的情况下,人们仍然可以基于任何适当级别的安全考虑,着手实现自己的高级别IP地址节点-(Re)-discovery策略,如果需要的话,甚至可以从一个{朴素的自声明\\两步IP验证\.一个信任少的IP验证}-protocol开始。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47931867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档