Aynı düğümdeki yerel bir işlemle yapacağınız işlemleri başka bir düğüme gönderebilirsiniz. Hile elbette işlem kimliğine sahip olmanız gerekiyor. Ancak, başka bir düğüme kaydedilmiş bir işleme de, {RegisteredName, NodeName}, ör.
register(a, self()), {a, node()} ! foo.
kendinize bir ileti gönderir.Nasıl sözdizimi düğümlerde çalışır. İlk kabuğunda
daha detaylı bir örneği
: İkinci kabuğunda
erl -sname one
Erlang R15B01 (erts-5.9.1) [source] [smp:8:8] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.9.1 (abort with ^G)
[email protected])1> ([email protected])1> register(hello_server, self()).
([email protected])2>
true
: İlk kabuğunda
erl -sname two
Erlang R15B01 (erts-5.9.1) [source] [smp:8:8] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.9.1 (abort with ^G)
[email protected])1> ([email protected])1> {hello_server, '[email protected]'} ! good_day.
good_day
([email protected])2>
Ve yine:
([email protected])2> flush().
Shell got good_day
ok
Can Kullanırım "!" Uzak düğüm için bir mesaj göndermek için, eğer bu düğümdeki işlemin Pid'i "yumurtlama (Düğüm, Modül, Eğlence, Args)" fonksiyonu ile? –
Evet, uzak mesaj göndermek sadece yerel olanları göndermek gibidir –
Sadece tüm düğümlerin aynı çerezi kullandığından emin olmanız yeterlidir. – Kaos