博客概述
先前关于linux文件系统驱动的博客已经删除,文件系统可能是一个比较复杂的话题,涉及的东西也比较多。我虽然想写,不过发现可能要叙述的东西太多,我没办法掌握重点,所以暂时不写,等以后有好的思路在写。根据朋友的建议,先写服务器开发的博客。首先从简单的回文服务器开始到http服务器。
博客面向的读者是已经熟悉c,unix编程和unix网络编程,然后想编写服务器程序的人。
服务器概述
大部分的服务器都是接受客户端的请求之后做一些处理,然后发回一些内容给客户端。比如回文服务器是接受一段文本,然后回射给客户端。如下给出服务器的一个图例:
一个服务器可能会和很多客户端同时交互,所以保证每个客户端公平的快速响应是很重要的。
mc_echo概述
mc_echo是一个回文服务器,也是本博客讲解的服务器开发的第一个服务器,项目地址为https://github.com/mc-robin/mc_server/tree/master/mc_echo。以下给出mc_echo的大致图例:
主进程用于接受新的客户端连接,然后分发连接请求。处理进程用于处理客户端的请求,然后回应。调度进程用于帮助主进程更加合理的分发服务。mc_echo并不涉及模块机制,所以是比较简单的服务器示例。