亚洲免费人人妻人人,cao78在线视频,福建一级毛片,91精品视频免费观看,高清另类图片操逼,日本特黄特色大片免费看,超碰欧美人人澡曰曰澡夜夜泛

Erlang中的socket編程簡單例子 -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【m.msguai.com - 電腦資料】

    這篇文章主要介紹了Erlang中的socket編程簡單例子,本文給出了TCP服務器echo示例、Tcp 的echo客戶端示例、UDP server示例、UDP client 示例,需要的朋友可以參考下

    Erlang 中gen_tcp 用于編寫TCP程序,gen_udp用于編寫UDP程序,

Erlang中的socket編程簡單例子

。一個簡單的TCP服務器echo示例

    代碼如下:

    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.

    Tcp 的echo客戶端示例:

   

    代碼如下:

    echo_client_eval(Str) ->

    {Ok,Socket} = gen_tcp:connect(“l(fā)ocalhost”,2345,[binary,{packet,4}]),

    k= gen_tcp:send(Socket, term_to_binary(Str)),

    receive

    {tcp,Socket,Bin}->

    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]),

    k= gen_udp:send(Socket,”localhost”,1234,Request),

    Value=   receive

    {udp,Socket,_,_,Bin}-> {ok,Bin}

    after2000 -> error

    end,

    gen_udp:close(Socket),

    Value

    注意,因為UDP是不可靠的,一定要設一個超時時間,而且Reqeust最好小于500字節(jié),

電腦資料

Erlang中的socket編程簡單例子》(http://m.msguai.com)。

    WebSocket, JS 和Erlang相結合,能夠實現Web的絕大多數功能。

最新文章