Erlang ping node problem

I did in the erlang shell:

1> node(). nonode@nohost 

But

 2> net_adm:ping(node()). pang 

Why? What is the problem? Why not pong?

Thanks.

+8
source share
3 answers

You did not start Erlang with -name or -sname , which means that the distribution subsystem has not been started. Try the following:

 $ erl -sname mynode Erlang R14B02 (erts-5.8.3) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false] Eshell V5.8.3 (abort with ^G) ( mynode@foobar )1> node(). mynode@foobar ( mynode@foobar )2> net_adm:ping(node()). pong 
+13
source

I'm not 100% sure, but you started erl without the "-name" oder "-sname". I believe net_adm: ping / 1 only works in distributed mode.

+3
source

If you try to ping an erlang node, but get pang .

Check the cookie with erlang:get_cookie() it will be some random string that set the cookie of another node with erlang:set_cookie(Node, Cookie) or you can pass the cookie to the -setcookie flag

eg:

 ( foo@earth ) erlang:get_cookie(). ASYRQKVNIFHWIIJQZIYN ( foo@earth ) erlang:set_cookie(node(), 'secret cookie'). true net:ping(' mongooseim@localhost '). pong 

Check documents

0
source

All Articles