【问题标题】:Can I get Erlang OTP behaviors in C Nodes?我可以在 C 节点中获得 Erlang OTP 行为吗?
【发布时间】:2011-06-12 14:10:42
【问题描述】:

例如,现在我有一个 C 节点(称为 CN),它连接到一个 erlang 节点(称为 EN)并使用 RPC 来使用 OTP行为。因此,要将 CN 的事件发送到 EN 上的事件管理器,我将 CN 连接到 EN 并执行

args = erl_format("[data_man, {~f, ~f}]", ch.at(0), ch.at(1));
erl_rpc_to(fd, "gen_event", "notify", args);

但是,那么,我的 C 节点确实不像一个节点(即为什么要创建一个只使用远程过程调用的节点?)。

有没有办法在 C 节点中直接使用 OTP 行为?

如果没有,我是否应该深入了解 OTP 使用的消息格式并使用该格式发送消息(即,我可以欺骗 OTP 行为吗?)? 我不喜欢这个想法,我将不得不注意 OTP 等的实施变化。

我的要求有硬延迟限制,这对我选择 C ​​进程和 Erlang 之间的通信有何影响(RPC 会不会让我陷入困境?等等)?

【问题讨论】:

    标签: event-handling erlang robotics erlang-otp erl-interface


    【解决方案1】:

    没有办法直接使用 C 中的 OTP 行为。我也不认为你应该模仿 OTP 行为来直接使用它们。

    您应该首先使用 RPC,然后根据您的性能要求测试您的代码。如果需要,您可以随时向您的 gen_event 进程发送一条简单的消息,使其通过其 handle_info/2 方法通知自己。

    【讨论】:

      猜你喜欢
      • 2011-03-11
      • 1970-01-01
      • 1970-01-01
      • 2010-11-13
      • 1970-01-01
      • 2015-04-26
      • 1970-01-01
      • 1970-01-01
      • 2011-08-13
      相关资源
      最近更新 更多