任务是手动获取URL http://cs144.keithw.org/lab0/sunetid(替换为你的SUNet ID),从响应头 X-Your-Code-Is 中提取密钥。那我们只要修改get请求就好了Host: cs144.keithw.org Connection: close HTTP/1.1 200 OK Date: Mon, 10 Feb 2025 11:50:10 GMT Server: Apache X-You-Said-Your-SunetID-Was: ...
在Lab 1,实现一个流重组器(stream reassembler):一个将小块小块的字符串(substrings or segments)转化为连续的且顺序正确的字节流。 在Lab 2,实现"进站"(inbound)的部分也就是TCPReceiver。你将会考虑TCP是如何解决乱序问题的-也就是考虑序列号(seq number)。TCPReceiver负责维护目前有多少字节能够被成功地放入流...
lab0前面的几个实验就不再赘述了,基本上就是依葫芦画瓢,按照文章给的步骤写一遍就可以实现。估计主要目的是想让我们感受一下TCP的实现。接下来我主要讲一下我在做webget和bytestream实验的过程。 3.5writing webget(原文如下) 这个实验实际上就是写一个简单的爬虫,去获取一个http get请求。整个过程我认为难点在于...
lab1 这次作业主要完成两个类 StreamReassembler 和 ByteStream。我的思路是每读入数据就O(n)扫一遍,用map维护每个index对应的数据,用一个指针指向当前需要写入值的位置,不断向后移动。原本没深刻认识到overleap的含义,记录的是整串string,然而测试数据
(1)输入命令”cdsponge/build”进入build目录,输入命令”gitmergeorigin/lab5-startercodetodate”获取实验源代码。输入命令”make”进行编译,编译结果如图6-1所示。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 cd sponge/build git merge origin/lab5-startercode to date ...
1.2 CS144实验室之Lab2 CS144的Lab2是一个有趣而挑战性的实验,通常涉及构建一个简化的网络路由器。这个实验有助于学生深入理解路由器的工作原理和网络数据包转发过程。 在Lab2中,学生通常需要实现基本的路由器功能,包括数据包的转发和路由表的构建。他们可能会编写代码来处理接收到的数据包,根据目的地IP地址选择正...
在lab0中,我们使用了Linux操作系统内置的传输控制协议(TCP)实现,并利用互联网流套接字从一个网站获取信息并发送电子邮件。尽管底层网络只提供"尽力而为"的数据报服务,但我们成功地通过在计算机内存中自行实现字节流的抽象来生成了一对可靠的按顺序排列的字节流,其中一个字节流是从主机到服务器的,另一个字节流是从...
cs144的lab前面test通过会影响后面的lab吗 1. 目标 1.1 获取网页内容 实现webget。一个使用操作系统的TCP支持和Socket抽象通过 Internet 获取网页的程序。步骤大致如下: 1.从构建目录中,打开文件/文本编辑器或IDE中的apps/webget.cc。 2.在getURL函数中,找到以“//Your code here”开头的注释...
当我们在浏览器中输入网址http://cs144.keithw.org/hello时,会显示如图1-1所示的页面。现在,我们需要通过命令行在虚拟机上获取该页面的内容。 图1-1 在浏览器查看的内容 在命令行中输入以下命令:telnet cs144.keithw.org http。这个命令的作用是告诉telnet程序在你的计算机和名为cs144.keithw.org的服务器之间...
1.2 CS144实验室之Lab2 CS144的Lab2是一个有趣而挑战性的实验,通常涉及构建一个简化的网络路由器。这个实验有助于学生深入理解路由器的工作原理和网络数据包转发过程。 在Lab2中,学生通常需要实现基本的路由器功能,包括数据包的转发和路由表的构建。他们可能会编写代码来处理接收到的数据包,根据目的地IP地址选择正...