Hi all:
Error ====>:~p~n was printed many times, why?
real log:
14:07:40.000 [info] ====>
cmpp_sms_sp_30:1123 Error sms_sp_receiver receive head error,close connection ====>
self:"<0.27996.1553>" Error:{error,closed}
14:07:40.000 [info] ====>
cmpp_sms_sp_30:1123 Error sms_sp_receiver receive head error,close connection ====>
self:"<0.27996.1553>" Error:{error,closed}
14:07:40.000 [info] ====>
cmpp_sms_sp_30:1123 Error sms_sp_receiver receive head error,close connection ====>
self:"<0.27996.1553>" Error:{error,closed}
14:07:40.000 [info] ====>
cmpp_sms_sp_30:1123 Error sms_sp_receiver receive head error,close connection ====>
self:"<0.27996.1553>" Error:{error,closed}
14:07:40.000 [info] ====>
cmpp_sms_sp_30:1123 Error sms_sp_receiver receive head error,close connection ====>
self:"<0.27996.1553>" Error:{error,closed}
14:07:40.000 [info] ====>
cmpp_sms_sp_30:1123 Error sms_sp_receiver receive head error,close connection ====>
self:"<0.27996.1553>" Error:{error,closed}
14:07:40.000 [info] ====>
cmpp_sms_sp_30:1123 Error sms_sp_receiver receive head error,close connection ====>
self:"<0.27996.1553>" Error:{error,closed}
14:07:40.001 [info] ====>
cmpp_sms_sp_30:509 Error exit_receiver ====>
spcode:"230166"
splinkid:"1"
ip:"123.207.73.149"
max:1000
Receiver:<0.27996.1553>
example code:
parent()->
{ok, Socket} = gen_tcp:connect/4,
start_receiver(999, self(), Socket),
gen_tcp:send/2,
gen_tcp:close(Socket).
start_receiver(SpCode, Sender, Socket) ->
spawn_link(fun() -> receiver(SpCode, Sender, Socket) end).
receiver(SpCode, Sender, Socket) ->
case gen_tcp:recv(Socket, 12) of
{ok, Head} ->
case Head of
<<_Rep_Toltal_len:32/integer, Rep_Command_id:32/integer, _Rep_Seq_id:32/integer>> ->
CommandId = erlang:integer_to_list(Rep_Command_id, 16),
case CommandId of
A ->
receiver(SpCode, Sender, Socket);
UnknownCmd ->
receiver(SpCode, Sender, Socket)
end;
_ErrorHead ->
gen_tcp:close(Socket)
end;
Error ->
gen_tcp:close(Socket),
error_logger:info_msg(" Error sms_sp_receiver receive head error,close connection~n self:~p Error:~p~n ",[Error])
end.