1.application定义. 举例说明:mnesia、cowboy、mochiweb...是一个application。
在Erlang中进程之间互不影响,也就导致了A进程崩溃,不依赖A进程的B进程可以正常运行。那么又由于Erlang的机制导致它能够知道A进程崩溃,这时候如果能够重新启动A进程,
那么这个系统:我跟你講,它就是一個永遠運行的系統啊,“誰這麼浪費,晚上了也不把電源關了” - By 某機房清潔阿姨。
application,就是用来干这个重启进程的工作的。
application可以看作是官方提供的一种功能,用来保证在自己写的代码出现问题时能够恢复到初始状态,并且这个行为可以自己定义。
例如:运行时由于bug导致程序崩溃,应用可以立即重新启动该进程(进程中存储的数据会消失)
2.application目录结构。以下以创建一个“服务端监听端口”应用为例。“服务端监听端口”应用的根目录定义为server/
server/src
server ebin
server/include
server/doc
server/priv/docroot
3.在这个“服务端监听端口”应用中,就如应用名称一样,我们实现的功能包括:
a.启动一个监听端口
b.客户端可以向服务端的这个接口发送数据
c.服务端接受到数据,执行相应的操作,操作完成后把结果发回给客户端
d.客戶端關閉連接,服務端清理數據
4.application模板必须包含的内容。
server_app.erl %標準模板
server_sup.erl %標準模板
server.app %標準模板
server_manager.erl %實現我們功能的模塊,模块名称可以任意,为了保持一致性所以使用该名称
5.讲这一节的主要目的,在于一个游戏服是由多个applicatin组合起来,保证其稳定性
6.所有代码文件,放在网站:GitHub