带有ACE反应器的Zeromq

ZeroMQ with ACE Reactor

本文关键字:Zeromq 反应器 ACE 带有      更新时间:2023-10-16

我有一个使用ACE反应器处理通信的旧应用程序。为了提高临时网络分区的可靠性,我想将Zeromq而不是TCP插座作为运输。ACE为现有的IPC机制提供C 包装器,但我想提供ACE可以使用的 Custom IPC机制。在我的特殊情况下,我想使用ZMQ,但是我的问题更笼统,我在问,如何使用ACE使用自定义运输?

有两种方法。

  1. 根据Zeromq为您提供的模型,从ACE_SOCKACE_IPC_SAP中得出了一个新的IPC类家庭。不要忘记要匹配的地址课。这是很多工作,但是如果您在许多地方重复使用它,可能是值得的。
  2. ACE_Event_Handler中得出用例的处理程序,并包括您的Zeromq传输对象的成员。假设您可以从Zeromq对象获得可选的套接字手柄,则可以从get_handle()钩访问它并向反应器注册。然后,在您的handle_input()等人中,回调进行消息传输。这相对较快,容易。