从0开始通关Proxy Lab
Proxy Lab
写在最前
想要完成这一个Lab,你需要阅读CSAPP第十章到第十二章的内容。
第十章会介绍你在项目中会使用的API。
第十一章会介绍你需要知道于相关的网络知识。
阅读第十二章会帮助你解决Lab的最后一个部分。
首先你需要解决的问题是搞明白什么是Proxy?在书中你已经学习了Client-Server模型。你应该理解了两台主机链接的情况。如果你忘记了也没关系,我会帮助你复习。就好比说,你手上有一瓶饮料和一个吸管,对方也有一瓶饮料和一根吸管,你们都想喝对方的饮料,为了干净卫生,那么你们都可以使用吸管去喝对方的饮料(而不是使用嘴,你可以使用嘴直接喝你自己的饮料)。
Proxy就是在这两个链接中间增加一个站点。
上文中的吸管和嘴就是API。
Proxy在这个项目中做了什么:
项目结构
这里应该有一张图片。
简答来说,这个项目有两个部分。
一个是Proxy,另外一个是tiny server。你可以在项目结构清楚的看见构成。
CSAPP
这是一个非常重要的文件。文件中提供了大量IO函数。
Proxy
这是你主要需要修改的文件。
Tiny
这是一个Server。阅读这个部分的代码可以帮助你实现Proxy。
项目思路
Part 1
我们在上文已经简述了什么是Proxy。接下来我们需要
Part 2
Part 3
你可能会遇到的问题
结语
这个项目延续了CSAPP的一贯风格,只要你能看懂,你就可以知道要怎么写。
在代码行数上面,你需要写的并不多,Tiny Server给出了代码结构,你只需要略作修改就可以拿来使用。此外,这个项目中,你的大部分代码是在处理字符串。
回过头看,是一个难度中等偏上的Lab。
你可以在完成这个项目之后学习CS144。
Last updated