从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