濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Erlang中的socket編程簡(jiǎn)單例子

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

熱門標(biāo)簽:股票配資電銷機(jī)器人 電銷機(jī)器人 深圳 外呼系統(tǒng)會(huì)封嗎 萬(wàn)利達(dá)綜合醫(yī)院地圖標(biāo)注點(diǎn) 武漢AI電銷機(jī)器人 在電子版地圖標(biāo)注要收費(fèi)嗎 南京電銷外呼系統(tǒng)哪家好 實(shí)體店地圖標(biāo)注怎么標(biāo) 地圖標(biāo)注如何弄全套標(biāo)

Erlang 中g(shù)en_tcp 用于編寫TCP程序,gen_udp用于編寫UDP程序。一個(gè)簡(jiǎn)單的TCP服務(wù)器echo示例

復(fù)制代碼 代碼如下:

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客戶端示例:
復(fù)制代碼 代碼如下:

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示例
復(fù)制代碼 代碼如下:

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 示例:
復(fù)制代碼 代碼如下:

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

注意,因?yàn)閁DP是不可靠的,一定要設(shè)一個(gè)超時(shí)時(shí)間,而且Reqeust最好小于500字節(jié)。
WebSocket, JS 和Erlang相結(jié)合,能夠?qū)崿F(xiàn)Web的絕大多數(shù)功能。

標(biāo)簽:安徽 汕頭 廣東 泰安 臺(tái)州 濟(jì)寧 武威 濟(jì)源

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Erlang中的socket編程簡(jiǎn)單例子》,本文關(guān)鍵詞  Erlang,中的,socket,編程,簡(jiǎn)單,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Erlang中的socket編程簡(jiǎn)單例子》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Erlang中的socket編程簡(jiǎn)單例子的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    SHOW| 平阴县| 桃源县| 全州县| 桦甸市| 清镇市| 阿坝县| 玉林市| 筠连县| 子洲县| 深水埗区| 金华市| 凌云县| 兴隆县| 班戈县| 临沭县| 北京市| 鄯善县| 绵竹市| 金塔县| 托克托县| 通道| 佳木斯市| 察哈| 莎车县| 社旗县| 鹤庆县| 威海市| 青岛市| 错那县| 莒南县| 白山市| 克东县| 开原市| 洛阳市| 长泰县| 镇沅| 屯门区| 鄂尔多斯市| 黔西| 淮北市|