2007/05/09

Erlang リモートプロセスは register できない

Erlang ファイルサーバの置き換えですが、次のようにリレーしなくても登録するだけでいけるのでは、と思って試してみました。
register で badarg が発生して、動きませんでした。
register ではローカルプロセスまたはローカルポートしか登録できないのでリレーが必要のなですね。


-module(pseudo_file_server2).
-export([start/0]).

start() ->
%% ローカルノードのファイルサーバを登録解除
unregister(file_server_2),
%% リモートノードのファイルサーバの pid を取得
Pid = rpc:call('ubu@172.22.10.22', erlang, whereis, [file_server_2]),
%% そのプロセスをローカルノードのファイルサーバとして登録
register(file_server_2, Pid).

0 件のコメント: