多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > Erlang的socket 編程簡例

Erlang的socket 編程簡例

來源:程序員人生   發布時間:2015-04-10 07:53:54 閱讀次數:2949次

Erlang 中gen_tcp 用于編寫TCP程序,gen_udp用于編寫UDP程序。1個簡單的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(“localhost”,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定要設1個超時時間,而且Reqeust最好小于500字節。

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

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲天码中文字幕第一页 | 国产精品久久久久久吹潮 | 亚洲免费影视 | 日本高清www视频在线观看 | 久久精品国产国语对白 | 欧美久久久久久久久 | 91精品一区二区三区在线 | 羞羞免费网页登界面入口 | 亚洲欧洲精品久久 | 性欧美高清久久久久久久 | 免费网站在线观看国产v片 免费网站在线看 | 色人阁久久| 美日韩一区二区 | 日韩中文字幕一区二区不卡 | www.在线视频 | 69热在线观看 | 亚洲一区二区三区影院 | 男女男精品视频 | 亚洲国产欧洲精品路线久久 | 美女的隐私视频网站蜜桃视频 | 成人午夜精品久久久久久久小说 | 久久91在线 | 日本在线视频一区二区三区 | 国产精品国产午夜免费福利看 | 精品国产高清a毛片 | 国产在线精品福利一区二区三区 | 免费观看欧美成人1314w色 | 亚洲欧美日韩中文字幕一区二区三区 | 日本国产中文字幕 | 亚洲成人免费视频在线 | 校园春色 激情 | 爱爱小视频在线观看网站 | 欧美精品a毛片免费观看 | 亚洲图区综合 | 我想看一级毛片免费的 | 欧美艳星xxx | 精品三级国产一区二区三区四区 | 一级女人毛片人一女人 | 亚洲欧美视频在线观看 | www.夜| 亚洲福利三区 |