mochiweb源码阅读4-概括与使用

本文介绍了如何在mochiweb项目中自定义`welcome.html`文件并进行编译运行。通过执行`make`和`start-dev.sh`启动服务器,可以在浏览器中查看结果。此外,还提到了可以自定义模块,定义`loop`函数以实现对外界连接的定制处理。
摘要由CSDN通过智能技术生成
mochiweb运行总体流程
自定义模块start/1函数调用mochiweb_http:start([{name, ?MODULE}, {loop, ?LOOP},{port,Port])启动整个项目
1 启动mochiweb_socket_server进程,并将该进程转化为系统进程,作为各子进程的监控进程
2 创建进程池,挂载多个accept进程,并将各进程pid存入连接池(accept_pool),通过记录#mochiweb_socket_server{}维护
3 挂载的accept进程等待用户连接,若存在用户连接,则立即向mochiweb_socket_server进程发送accepted消息,并建立连接,然后以mochiweb_http:loop/3为入口接收http请求并调用自定义模块处理请求响应用户
4 mochiweb_socket_server进程接收到accepted消息,立即调整#mochiweb_socket_server{}记录信息,将其中active_sockets+1,并将其进程pid从acceptor_pool中移除,最后在创建一个新的acceptor进程,维持当前挂载的acceptor进程数稳定
5 Socket连接断开,若断开异常则向监控进程mochiweb_socket_server发送异常信息,监控进程首先查看该进程pid是否存在acceptor_pool中,若存在则编写错误日志,否则直接调用mochiweb_socket_server:recycle_accceptor/2更新#mochiweb_socket_se
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值