使用 ZeroMQ 在接口中转发数据包
Use ZeroMQ for forwarding packets in an interface
是否可以使用 ZeroMQ 作为中间点,不同的程序可以将数据包发送到 ip:port
组合或网络接口,并让 ZeroMQ 在特定的出站连接中转发任何此类数据包?
所以基本上我不想以编程方式发送我生成的数据,而是公开一些端点供其他应用程序像往常一样无缝通信,但基本上使用 ZeroMQ 作为中间人,相应地路由流量。
Q : "... have ZeroMQ forward any such packets in a specific outbound connection?"
鉴于有一种内置方法可以避免使用 { PUB/SUB | XPUB/XSUB | REQ/REP | XREQ/XREP | ROUTER/DEALER | PUSH/PULL | RADIO/DISH | CLIENT/SERVER | ... }
库中的任何常见 ZeroMQ 高级可扩展正式通信模式原型,因此有机会使用“原始”-模式,实际上 socket-FileDescriptor 可以开始由 ZeroMQ 工具 { .poll() | .send() | .recv() }
-methods.
处理
为了在您的预期用例中取得成功,但有必要仔细遵循已发布的 API 规范,因为 ZMQ_STREAM
套接字具有一些内置行为,需要反映在您的 MiTM 代理处理中(剥离前置身份、到达时添加、线程安全等)。
无论如何,虽然核心 ZMQ-RFC 文档是稳定的,但 API 文档反映了最近的变化,因为核心库仍在不断发展,因此请密切关注您实现的内容(基于当前版本)以及潜在的进一步版本演变需要注意什么 and/or 已停产的功能。
利用 zmq_socket_monitor()
功能可能会很有趣,因为在此场景中您将基于面向连接的 tcp://
-传输 class。
是否可以使用 ZeroMQ 作为中间点,不同的程序可以将数据包发送到 ip:port
组合或网络接口,并让 ZeroMQ 在特定的出站连接中转发任何此类数据包?
所以基本上我不想以编程方式发送我生成的数据,而是公开一些端点供其他应用程序像往常一样无缝通信,但基本上使用 ZeroMQ 作为中间人,相应地路由流量。
Q : "... have ZeroMQ forward any such packets in a specific outbound connection?"
鉴于有一种内置方法可以避免使用 { PUB/SUB | XPUB/XSUB | REQ/REP | XREQ/XREP | ROUTER/DEALER | PUSH/PULL | RADIO/DISH | CLIENT/SERVER | ... }
库中的任何常见 ZeroMQ 高级可扩展正式通信模式原型,因此有机会使用“原始”-模式,实际上 socket-FileDescriptor 可以开始由 ZeroMQ 工具 { .poll() | .send() | .recv() }
-methods.
为了在您的预期用例中取得成功,但有必要仔细遵循已发布的 API 规范,因为 ZMQ_STREAM
套接字具有一些内置行为,需要反映在您的 MiTM 代理处理中(剥离前置身份、到达时添加、线程安全等)。
无论如何,虽然核心 ZMQ-RFC 文档是稳定的,但 API 文档反映了最近的变化,因为核心库仍在不断发展,因此请密切关注您实现的内容(基于当前版本)以及潜在的进一步版本演变需要注意什么 and/or 已停产的功能。
利用 zmq_socket_monitor()
功能可能会很有趣,因为在此场景中您将基于面向连接的 tcp://
-传输 class。