Elixir Language
ノード
サーチ…
システム内のすべての可視ノードを一覧表示する
iex(bob@127.0.0.1)> Node.list
[:"frank@127.0.0.1"]
同じマシン上のノードの接続
2つのターミナルウィンドウで2つの名前付きノードを開始します。
>iex --name bob@127.0.0.1
iex(bob@127.0.0.1)>
>iex --name frank@127.0.0.1
iex(frank@127.0.0.1)>
1つのノードに接続を指示して2つのノードを接続します。
iex(bob@127.0.0.1)> Node.connect :"frank@127.0.0.1"
true
2つのノードが接続され、互いに認識しています。
iex(bob@127.0.0.1)> Node.list
[:"frank@127.0.0.1"]
iex(frank@127.0.0.1)> Node.list
[:"bob@127.0.0.1"]
他のノードでコードを実行することができます:
iex(bob@127.0.0.1)> greet = fn() -> IO.puts("Hello from #{inspect(Node.self)}") end
iex(bob@127.0.0.1)> Node.spawn(:"frank@127.0.0.1", greet)
#PID<9007.74.0>
Hello from :"frank@127.0.0.1"
:ok
異なるマシン上のノードの接続
1つのIPアドレスで名前付きプロセスを開始する:
$ iex --name foo@10.238.82.82 --cookie chocolate
iex(foo@10.238.82.82)> Node.ping :"bar@10.238.82.85"
:pong
iex(foo@10.238.82.82)> Node.list
[:"bar@10.238.82.85"]
異なるIPアドレスで別の名前付きプロセスを開始する:
$ iex --name bar@10.238.82.85 --cookie chocolate
iex(bar@10.238.82.85)> Node.list
[:"foo@10.238.82.82"]
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow