婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Erlang中的socket編程簡單例子

Erlang中的socket編程簡單例子

熱門標簽:股票配資電銷機器人 電銷機器人 深圳 外呼系統會封嗎 萬利達綜合醫院地圖標注點 武漢AI電銷機器人 在電子版地圖標注要收費嗎 南京電銷外呼系統哪家好 實體店地圖標注怎么標 地圖標注如何弄全套標

Erlang 中gen_tcp 用于編寫TCP程序,gen_udp用于編寫UDP程序。一個簡單的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是不可靠的,一定要設一個超時時間,而且Reqeust最好小于500字節。
WebSocket, JS 和Erlang相結合,能夠實現Web的絕大多數功能。

標簽:安徽 汕頭 廣東 泰安 臺州 濟寧 武威 濟源

巨人網絡通訊聲明:本文標題《Erlang中的socket編程簡單例子》,本文關鍵詞  Erlang,中的,socket,編程,簡單,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Erlang中的socket編程簡單例子》相關的同類信息!
  • 本頁收集關于Erlang中的socket編程簡單例子的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 舟山市| 延吉市| 上高县| 沂源县| 玉环县| 阳城县| 旌德县| 新乐市| 肃北| 夏津县| 拜泉县| 怀集县| 辛集市| 湘潭县| 察哈| 保亭| 临洮县| 固始县| 长垣县| 梓潼县| 施甸县| 大石桥市| 大新县| 涿鹿县| 泌阳县| 盐源县| 遂宁市| 石嘴山市| 阜新市| 临漳县| 孝昌县| 奉节县| 噶尔县| 怀集县| 罗城| 汨罗市| 托里县| 合川市| 思茅市| 滨州市| 乌拉特后旗|