【发布时间】:2017-11-13 13:03:33
【问题描述】:
我的电脑上有两个节点(foo@my-pc 和 bar@my-pc)。bar 节点中有一个简单的 gen-server:
defmodule Bar.Server do
use ExActor.GenServer, export: :bar_server
defstart start_link, do: initial_state(0)
defcall get, state: state, do: reply(state)
defcast(set(num), state: state, do: new_state(state + num))
end
Genserver 已启动并正在运行 所以当我跑步时:
GenServer.call(:bar_server, :get)
效果很好。
我通过运行 foo Node.connect :'bar@my-pc' 将 foo 连接到 bar
我所期望的是现在foo 将熟悉bar 中的genserver :aa,
但是 - 当我运行时
GenServer.call(:bar_server, :get)
我明白了:
(EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
我假设我错过了一些东西。但可以弄清楚是什么。
【问题讨论】:
-
这行得通吗:
GenServer.call({:bar_server, :'bar@my-pc'}, :get)? -
是的,我愿意。谢谢
标签: elixir nodes gen-server