2015-10-27 32 views
3

當在具有erlang:set_cookie/2的節點上設置cookie時,可以爲不同的節點設置不同的cookie。有什麼方法可以顯示哪個cookie設置爲哪個節點?在Erlang中顯示連接特定的Cookie

調用erlang:get_cookie/1不顯示此信息,只顯示「默認」cookie。

實施例:

開始NodeA上與餅乾foo並用餅乾bar節點B。現在,NodeA通過撥打erlang:set_cookie(NodeB, bar)將與Cookie通信時使用的Cookie設置爲bar。 Pinging現在正常工作,沒有「來自不允許節點的連接嘗試...」錯誤。在NodeA上調用erlang:get_cookie()但仍顯示「默認」Cookie foo。如何找到爲NodeB設置了哪個cookie?

回答

6

這似乎並沒有被記錄,但auth:get_cookie/1你想要做什麼。對於您的情況,您可以致電auth:get_cookie(NodeB)NodeA

0

您必須在NodeB上運行get_cookie/0函數以獲取該節點的名稱。簡單的解決方案是(在NodeA上):

rpc:call(NodeB, erlang, get_cookie, []). 

連接節點後。

在NodeA上做erlang:set_cookie(NodeB, bar)調用只是使NodeA/NodeB可以互相連接,他們仍然有他們原來的cookie。

但是爲了能夠連接到其他節點必須已經知道該節點:)餅乾