Erlang中文论坛

标题: 实现两个节点间的通信 [打印本页]

作者: NESS    时间: 2015-3-26 16:40
标题: 实现两个节点间的通信
当我们想要实现跨节点间的消息传递,首先需要保证两个节点之间应当是互联的,如果只是建立连接,最简单的方法就是使用标准库函数net_adm:ping/1,同时两个节点的cookie应该保持一致,我们可以使用内置函数set_cookie(Node,Cookie)或者在启动节点时-setcookie以确保它们是一致的,用auth:get_cookie()函数可以检查当前ERLANG节点的cookie
假设我们现在已开经开启了两个节点,它们互联而且具有相同的cookie
[attach]2[/attach]
在一个节点上注册一个进程,然后让进程接收消息,现在我们使用另一个节点向它发送消息
[attach]6[/attach]
我们向前一个节点发送了一个”hello”的消息,节点收到消息时,它会将这个消息打印出来
[attach]5[/attach]
这样我们就在两个节点之间实现了最简单的通信。
你也可以使用ERLANG的标准库模块rpc来执行一个远程调用:
Rpc:call(Node,Mod,Fun,[Arg1,Arg2…])
这个函数可以远程调用Node节点下的Mod:Fun([Arg1,Arg2…])函数。






欢迎光临 Erlang中文论坛 (https://bbs.erldoc.com/) Powered by Discuz! X3.3