1

我有一个运行节点的服务器应用程序,等待 rpc 调用....

(n2@198.XXX.X.XX)>

我在另一台机器上启动了一个节点,在该机器上我也运行了 ejabberd

erl -name n2@198.XXX.X.XX -setcookie somecookie

(n1@198.XXX.X.XX)>

然后我用 ejabberdctl live 启动了 ejabberd 服务器,我希望能够从 n1 (n1@198.XXX.X.XX)> ping n2。

我可以看到 n1 已注册并使用 net_adm:names() 运行。

我尝试直接从代码 net_adm:ping(n2@198.XXX.X.XX) 做。但它说系统没有以合格的主机名运行

我需要一种连接/使用 n1 并与 n2 通信的方法 如何切换到 n1 并以编程方式将 rpc 设置为 n2?

4

1 回答 1

0

查看您的特定 ejabberdctl 和 grep 以获取“name”或“sname”。它表示节点是否以短名称或完全限定名称启动。它必须与您的“erl -name”匹配。确定一种命名节点的方式并更改您的节点或 ejabberd 脚本。

于 2013-08-12T17:43:18.317 回答