cs144 lab0 networking warmup

https://github.com/RedemptionC/cs144/tree/lab0

overview

lab0中:

  • 配环境
  • 手动执行一些网络相关任务
  • 写一个类似wget的代码
  • 实现writer和reader之间的可靠字节流

其中开发本身相对简单,占比较大的是:开发环境和c++

开发环境

这里推荐直接使用给出的virtual box镜像,是无GUI版,也不怎么占资源,而且VB还支持无界面启动

写代码的时候,可以使用clion,配置好远程开发(jetbrains的远程开发和vscode比起来比较落后,只能关联文件夹,在本地修改代码,然后上传)

另外clion的toolchain,可以使用wsl的,也比较方便(因为win下配c/c++环境一般来说是没有linux方便的)

网络相关任务

通过telnet发送一个请求,发一封邮件,基本在自顶向下里都接触过

使用netcat做一个简单的echo server

写代码

modern c++

  • 使用cpp ref作为语言上的参考
  • 永远不要使用malloc+free 或者 new+delete
  • 不要直接使用指针(*),仅在必要的时候使用智能指针(本课中不需要用到他们)
  • 避免使用template,th

你可能感兴趣的:(cs144 lab0 networking warmup)