簡體   English   中英

Erlang將消息投射到全局gen_server

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM