[英]Erlang cast message to global gen_server
這是previos 問題的繼續
我有gen_server:
start(UserName) ->
case gen_server:start({global, UserName}, player, [], []) of
{ok, _} ->
io:format("Player: " ++ UserName ++ " started");
{error, Error} ->
Error
end
...
如何正確地向此gen_server發送消息。 例如:在另一個文件中,我做:
gen_server:cast(test, message).
在我的gen_server文件中,我有:
handle_cast(message, State) ->
io:format("Message receiving \r\n"),
{noreply, State};
我以測試名稱啟動gen_server:
服務器:啟動(測試)。 測試開始
當我打電話給gen_server:cast(test, message).
它在shell中沒有輸出。 如何檢查handle_cast呼叫?
謝謝。
代替
gen_server:cast(test, message).
寫
gen_server:cast({global, test}, message).
如果您將名稱注冊為{global,name},則必須將其稱為{global,name}
如果您的處理程序被調用,它將在外殼中顯示“消息接收\\ r \\ n”。 您是通過io:format調用實現的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.