自己动手写服务器-1

这篇博客主要介绍了如何从零开始编写服务器,针对熟悉C语言和Unix编程的读者。首先,博主阐述了服务器的基本工作原理,通过一个简单的回文服务器mc_echo为例进行说明。mc_echo由主进程负责新客户端连接,处理进程处理请求并响应,调度进程协助合理分配任务。文章还提及了mc_echo的配置文件解析,展示了lex和yacc的代码片段,并预告下篇将探讨mc_echo的事件机制和多进程模型。
摘要由CSDN通过智能技术生成

博客概述

先前关于linux文件系统驱动的博客已经删除,文件系统可能是一个比较复杂的话题,涉及的东西也比较多。我虽然想写,不过发现可能要叙述的东西太多,我没办法掌握重点,所以暂时不写,等以后有好的思路在写。根据朋友的建议,先写服务器开发的博客。首先从简单的回文服务器开始到http服务器。

博客面向的读者是已经熟悉c,unix编程和unix网络编程,然后想编写服务器程序的人。

服务器概述

大部分的服务器都是接受客户端的请求之后做一些处理,然后发回一些内容给客户端。比如回文服务器是接受一段文本,然后回射给客户端。如下给出服务器的一个图例:

一个服务器可能会和很多客户端同时交互,所以保证每个客户端公平的快速响应是很重要的。

mc_echo概述

mc_echo是一个回文服务器,也是本博客讲解的服务器开发的第一个服务器,项目地址为https://github.com/mc-robin/mc_server/tree/master/mc_echo。以下给出mc_echo的大致图例:


主进程用于接受新的客户端连接,然后分发连接请求。处理进程用于处理客户端的请求,然后回应。调度进程用于帮助主进程更加合理的分发服务。mc_echo并不涉及模块机制,所以是比较简单的服务器示例。

mc_echo配置文件解析

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值