如何在zmq(本地套接字)中获取调用者pid

Im新的zmq。 我使用相同的本地IPC在基于Linux的操作系统(该套接字是AF_UNIXtypes)但我找不到方法来获取调用者(客户端)进程ID。 有什么办法find使用zm​​q相同的? (find来电的pid是必须为我的访问控制要求,如果zmq不提供相同的,那么我应该切换到dbus)请帮助我。

忘记大部分的低级套接字设计和后顾之忧。 在天空中思考更高。 ZeroMQ是一个相当高级的消息传递概念。 所以,你将不必担心大部分socket-io问题。

有关这些ZMQ原则的更多信息,请阅读Pieter Hintjens的设计准则和他的资源丰富的书“Code Connected,Vol.1”。

这就是说, 解决方案完全在你的掌控之中

创建特定问题的多zmq-socket / multi-zmq-pattern(由应用程序级逻辑使用和编排的多个zmq-原语)作为特定于问题的正式通信握手。

确保 <sender>将自己的PID添加到消息中。

通过另一个寄存器/授权 – 套接字模式与receiver方的预先注册的sender重新授权,以避免伪造/被盗的PID-身份下的欺骗性攻击。

根据您的ProblemDOMAIN调整您的访问控制策略,使用和实施任何级别的用于身份验证或密钥交换的加密安全正式握手协议,将您的访问控制策略安全性提高到足够的优势(包括MIL-STD等级) 。