-module(client). -export([start/1, loop/1, register/2, login/2]). start(Node) -> process_flag(trap_exit, true), {Client, Ref} = server:start_on_node(Node, client, undef), link(Client), Server = spawn_link(client, loop, [{Client, Ref}]), case server:rpc({Client, Ref}, {change_state, Server}) of {ok} -> {ok, {Client, Ref}}; _ -> {error, unknown_error} end. loop(Client) -> receive list -> server:send(Client, {ok, {foo}}), loop(Client); Cmd -> server:send(Client, {error, {unknown_command, Cmd}}), loop(Client) end. register(Client, {Name, Password}) -> dis ! {Client, {register, {Name, Password}}}. login(Client, {Node, Name, Password}) -> dis ! {Client, {login, {Node, Name, Password}}}.