[erlang-questions] How can i communicate with a gen_server-based server
wenew zhang
wenewboy@REDACTED
Fri Mar 28 09:16:31 CET 2008
Dear All,
i use gen_server behavior write a authserver
code:
-module(authserver).
-behaviour(gen_server).
%% gen_server callbacks
-export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2,
code_change/3]).
-export([start_link/0]).
-include("protocol.hrl").
start_link() ->
io:format("Authserver start_link~n"),
gen_server:start_link({global, ?MODULE}, ?MODULE, [],[]).
init([]) ->
process_flag(trap_exit, true),
io:format("Authserver init with []~n"),
{ok,0}.
handle_call(Request, _From, State) ->
{stop, {unknown_call, Request}, State}.
handle_cast(_Msg, State) ->
{noreply, State}.
handle_info({?PLLOGIN,Uid,Pwd},State) ->
io:format("PLLogin id:~w Uid:~w Pwd:~w~n",[?PLLOGIN,Uid,Pwd]).
terminate(_Reason, _N) ->
ok.
code_change(_OldVsn, State, _Extra) ->
{ok, State}.
%%___________________end_________________________
handle_info({?PLLOGIN,Uid,Pwd},State) ->
io:format("PLLogin id:~w Uid:~w Pwd:~w~n",[?PLLOGIN,Uid,Pwd]).
i want call this function above, send ?PLLOGIN},[Uid,Pwd]) from other node,
and then,authserver send some message back ,
i try:
2> Pid=authserver:start_link().
Authserver start_link
Authserver init with []
{ok,<0.32.0>}
3> Pid!{213,'root','12345'}.
** exception error: bad argument
in operator !/2
called as {ok,<0.32.0>} ! {213,root,'12345'}
4>
what can i do?
More information about the erlang-questions
mailing list