たとえば、現在、erlang ノード ( ENと呼びます) に接続し、RPC を使用して OTP 動作を使用する C ノード ( CNと呼びます) があります。したがって、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 は私を行き詰まらせますか? など)?