当前位置:  开发笔记 > 编程语言 > 正文

Erlang:不允许的节点/可能是Cookie问题

如何解决《Erlang:不允许的节点/可能是Cookie问题》经验,为你挑选了2个好方法。

试图让两个erlang节点相互通信:一个在Ubuntu机器上,另一个在Windows XP上.

我们得到一个" 来自不允许节点的连接尝试 "消息,该消息阻止一个节点从另一个节点接收消息.

他们都使用5.XXX版本的Erlang OTP.

两个节点都有相同的cookie(.erlang.cookie)

我们正在启动接收器节点:

erl -name fred@ipaddress

并使用'fred @ ipaddress'(单引号)调用其上的函数

我们关闭了防火墙.

那么还有什么可能阻止连接呢?

更新:我们使用erlang:get_cookie()检查两个节点上的cookie,值不同.这就是问题所在.我们认为我们通过将相同的.erlang.cookie文件放在我们在两台机器上运行erlang的目录中来设置cookie.但也许这是错误的地方?

更新2:感谢大家的答案.我们选择Ranok作为我们的答案,因为它对我们很有用.我确信一些设置cookie的替代方法也可以.



1> 小智..:

此外,当您启动Erlang系统时,会有一个命令行标志-setcookie,可让您在开始时指定cookie.

erl -name fred@ipaddress -setcookie FOOBAR

希望有所帮助,雅各布



2> Tautologisti..:

首先检查每个节点的cookie.从shell:

erlang:get_cookie().

如果它们不相同,则更改其中一个节点的cookie以匹配另一个:

erlang:set_cookie(node(), "newcookie").

如果一切正常,您需要了解为什么没有从配置文件或命令行arg中选择cookie设置.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有