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

國內最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > 綜合技術 > (2)小項目----建立erlang服務端

(2)小項目----建立erlang服務端

來源:程序員人生   發(fā)布時間:2015-01-05 08:35:38 閱讀次數:3368次

本來打算在window下在quick里面嵌入protobuf,發(fā)現毛病很多。研究1天都沒弄好。只能休息下弄下erlang服務端,先將服務端弄好再回頭嵌入protobuf到quick。

在window下不能用rebar,只能自己管理。erlang 是自己弱項。做個簡單的服務端基于OTP框架,是1個標準的實現,以后再漸漸擴大吧。

(1).建立好目錄doc,ebin,include,priv,src,testClient

(2).在ebin目錄下加入元數據server.app,用來啟動application

(3).在src下建立bz_server_sup.erl,bz_server_app.erl,bz_server.erl 3個文件。

bz_server_app.erl 用來打包程序,啟動,關閉。只提供start/2,stop/1兩個函數

start(_StartType,_StartArgs) ->
{ok,LSock} = gen_tcp:listen(?DEFAULT_PORT,?TCP_OPTIONS),
case bz_server_sup:start_link(LSock) of 
{ok,Pid} ->
bz_server_sup:start_child(),
{ok,Pid};
Other ->
io:format("bz_server_app Listen error : ~p !",[Other]),
{error,Other}
end.


stop(_State) ->
ok.
 

bz_server_sup.erl 監(jiān)聽者頂級監(jiān)聽,規(guī)定了子監(jiān)聽的啟動

start_link(LSock) ->
supervisor:start_link({"127.0.0.1",?SERVER},?MODULE,[LSock]).

start_child() ->
supervisor:start_child(?SERVER,[]).


%%Supervisor callback
init([LSock]) ->
Server = {bz_server, {bz_server, start_link, [LSock]},
              temporary, brutal_kill, worker, [bz_server]},
    Children = [Server],
    RestartStrategy = {simple_one_for_one, 0, 1},
    {ok, {RestartStrategy, Children}}.

bz_server.erl.    gen_server ,負責等待連接以后的多數實現就在這里實現。以后打算就在這里實現重客戶端發(fā)送過來的消息在分發(fā)下去。

%%-------------private---------------------
accept(ListenSocket) ->
case gen_tcp:accept(ListenSocket) of
{ok,Socket} ->
io:format("<<<<<<<<<<start connect>>>>>>>>> "),
io:format("accept client socket : ~p ",[Socket]),
gen_tcp:controlling_process(Socket, self()),
bz_server_sup:start_child();
{error,Reason} ->
io:format("accept error reason : ~p ",[Reason]),
accept(ListenSocket);
_Res ->
io:format("accept unexpected result : ~p ",[_Res]),
accept(ListenSocket)
end.


handle_info({tcp,Socket,RawData},State) ->  %%數據收取分發(fā)
io:format("Socket :~p , RawData : ~p ",[Socket,RawData]),
%%gen_tcp:send(Socket, "erlang server bin"),  
{noreply,RawData};

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 在线免费国产视频 | 一级黄色在线看 | 一区二区三区国产片 | 国产精品久久久久久久免费软件 | 99国产精品久久 | 国产成年在线 | 午夜一区二区三区 | 亚洲精品成人久久 | 国产 欧美 日韩 | 91久久久久久久久 | 欧美碰碰碰 | 国产成人在线看 | 国产三级av在线 | 韩国精品一区二区 | 日韩一区二区在线免费观看 | 欧美日韩免费中文字幕 | 一区二区毛片 | 国产精品国产三级国产aⅴ入口 | 欧美插插插 | 日韩毛片免费视频一级特黄 | 亚洲九色 | 日本特黄a级高清免费大片 韩国精品久久久 | 麻豆精品国产91久久久久久 | 国产在线一区二区三区四区 | 男人的天堂亚洲 | 中文字幕 自拍偷拍 | 国产精品久久久久免费 | 久久综合亚洲 | 日韩欧美在线看 | 成人在线免费电影 | 国产在线一级 | 亚洲精品尤物福利在线一区 | 久久精品欧美一区二区 | 国产激情在线观看 | 黄片毛片在线观看 | 久久精品麻豆 | 久久久久国产精品一区 | 高清欧美精品xxxxx在线看 | 久久国产一区二区 | 在线a毛片免费视频观看 | 国产视频一区在线播放 |