Erlang中的socket编程简单例子(二郎文化)一看就会

随心笔谈12个月前发布 admin
102 0

Start_echo_server()->

         {ok,Listen}=gen_tcp:listen(1234,[binary,{packet,4},{reuseaddr,true},{active,true}]),

         {ok,socket}=get_tcp:accept(Listen),

         gen_tcp:close(Listen),

         loop(Socket).

loop(Socket) ->

         receive

                  {tcp,Socket,Bin} ->

                            io:format(“serverreceived binary=~p~n”,[Bin])

                            Str=binary_to_term(Bin),

                            io:format(“server  (unpacked) ~p~n”,[Str]),

                            Reply=lib_misc:string2value(Str),

                            io:format(“serverreplying=~p~n”,[Reply]),

                            gen_tcp:send(Socket,term_to_binary(Reply)),

                            loop(Socket);

                   {tcp_closed,Socket} ->

                            Io:format(“ServerSocket closed ~n”)

         end.

© 版权声明

相关文章