私はgen_serverを持っています:
start(UserName) ->
case gen_server:start({global, UserName}, player, [], []) of
{ok, _} ->
io:format("Player: " ++ UserName ++ " started");
{error, Error} ->
Error
end
...
今、私はこの世代のサーバーを停止する関数を書きたいと思います。私は持っています:
stop(UserName) ->
gen_server:cast(UserName, stop).
handle_cast(stop, State) ->
{stop, normal, State};
handle_cast(_Msg, State) ->
{noreply, State}.
私はそれを実行します:
start("shk").
Player: shk startedok
stop(shk).
ok
start("shk").
{already_started,<0.268.0>}
だが:
stop(player).
ok
仕事です。
gen_serverを名前で実行し、名前で停止するにはどうすればよいですか?
ありがとうございました。