0
我有一个初始化函数,我称之为START_SERVER:spawn_link正在启动一个无限循环,但不返回?
start_server() ->
spawn_link(game_loop(0,0)).
目的是启动一个新的进程,开始循环,等待有人来发送消息有:
game_loop(X,Y) ->
receive
{move, left} ->
tell_client(X+1,Y),
game_loop(X+1,Y);
{move, right} ->
tell_client(X-1,Y),
game_loop(X-1,Y)
end.
我thaught是start_server会返回Pid,以便我可以在Erlang终端中写下类似这样的内容:
> Server = server:start_server().
然后使用变量服务器通过类似的功能处理的服务器:
move_left(Pid) ->
Pid ! {move, left}.
但是,这并不工作,因为START_SERVER()永远不会返回,这是为什么?