Erlang中的socket编程简单例子

2019-11-06 09:27:55王冬梅

                            Io:format(“Clientreceived binary  = ~p~n”,[Bin]),
                            Val=binary_to_term(Bin),
                            io:format(“Clientresult = ~p~n”,[Val]),
                            gen_tcp:close(Socket)
         end.

UDP server示例

udp_demo_server(Port) ->
         {ok,Socket}= gen_udp:open(Open,[Binary]),
         loop(Socket).
Loop(Socket)->
         receive
                   {udp,Socket,Host,Port,Bin}->
                            BinReply= …,
                            gen_udp:send(Socket,Host,Port,BinReply),
                            loop(Socket)
         End.

UDP client 示例:

udp_demo_client(Request) ->
         {ok,Socket}= gen_udp:open(0,[Binary]),
         ok= gen_udp:send(Socket,”localhost”,1234,Request),
         Value=    receive
                                     {udp,Socket,_,_,Bin}-> {ok,Bin}
                            after2000 -> error
                            end,
         gen_udp:close(Socket),