第一个Erlang服务器

-module(tut).
-export([start_server/0]).
-export([start_client/0]).

%开启服务器%
start_server()-> spawn(fun() -> server_loop() end).
server_loop()->
receive
    {update_task,Client,TaskData} ->
	io:format("server receive: update_task -> TaskData:~p ~n",[TaskData]),
	Client!{task_data,TaskData},
	server_loop();
    {stop} -> io:format("server stop")
end.

%开启客户端%
start_client() -> spawn(fun() -> client_loop() end).
client_loop() ->
receive
    {task_data,TaskData} -> io:format("client receive: task_data -> TaskData:~p ~n", [TaskData]),
    client_loop()
end.

%死亡处理%
deal_with(Request) -> io:format("deal_with ~p~n", [Request]).

(emacs@b51997ad18ca401)2> Svr = tut:start_server().
<0.45.0>
(emacs@b51997ad18ca401)3> Clt = tut:start_client().
<0.47.0>
(emacs@b51997ad18ca401)4> Svr!{update_task,Clt,"Hello Erlang Server"}.
server receive: update_task -> TaskData:"Hello Erlang Server" 
client receive: task_data -> TaskData:"Hello Erlang Server" 
{update_task,<0.47.0>,"Hello Erlang Server"}
(emacs@b51997ad18ca401)5> Svr!{stop}.
server stop{stop}
(emacs@b51997ad18ca401)6> Svr!{stop}.
{stop}
(emacs@b51997ad18ca401)7> Svr!{stop}.
{stop}
(emacs@b51997ad18ca401)8> 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值