日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > Erlang的socket 編程簡(jiǎn)例

Erlang的socket 編程簡(jiǎn)例

來源:程序員人生   發(fā)布時(shí)間:2015-04-10 07:53:54 閱讀次數(shù):2956次

Erlang 中g(shù)en_tcp 用于編寫TCP程序,gen_udp用于編寫UDP程序。1個(gè)簡(jiǎn)單的TCP服務(wù)器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}]),

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

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

         Value=    receive

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

                            after2000 -> error

                            end,

         gen_udp:close(Socket),

         Value

注意,由于UDP是不可靠的,1定要設(shè)1個(gè)超時(shí)時(shí)間,而且Reqeust最好小于500字節(jié)。

WebSocket, JS 和Erlang相結(jié)合,能夠?qū)崿F(xiàn)Web的絕大多數(shù)功能。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美一区二区国产 | 美女18毛片 | 欧美日韩亚洲国产综合 | 国产区精品视频 | 亚洲在线视频 | 日韩高清在线一区 | 久久99精品久久久久久噜噜 | 黄色在线亚洲 | 草久久| 一级毛片在线 | 人人人人人人 | 黄色片一级免费看 | 成人免费一区二区三区视频网站 | 欧美精品a∨在线观看不卡 黄色av免费 | 精品一区二区视频 | 欧美 视频 一区 | 在线观看的av | 久久久综合精品 | 国产免费高清 | 亚洲成人av综合 | 亚洲看片网站 | 日韩av综合网 | 午夜精品久久久久久久久久蜜桃 | 国产精品亚洲一区 | 色婷婷综合久久久久中文一区二区 | 国产高清免费视频 | 欧美一区二区三区在线看 | 正在播放av| 成人免费网站在线观看 | 久久久久国产视频 | 五月婷婷亚洲 | 美日韩在线观看 | av一级毛片 | 在线视频日韩 | 国产二区不卡 | 精品视频在线免费观看 | 欧美国产日韩久久 | 韩国三级av | 国产高清精品在线 | 蜜桃一区二区三区 | 国产精品一区二区三区在线 |