I have a secret for you:
SSBsb3ZlIGNvbXB1dGVyIG5ldHdvcmtpbmchIFRoZSBtYWdpYyBpbiB0aGUgaGVhZGVyIGlzIDUyMzA1IQ==
What is it?
You may either download the document from sakai or Proj-document
Due to winsocket issue, this project cannot run on Windows. We do understand that setting up developing environment is tedious, so we prepare remote containers for every group. You can also set up your local developing environment, and please be advised that your project will be finally graded on Ubuntu 20.04 with python 3.8. If you prefer to request a remote container for your group, please drop an email to
with format:
Title : Request for remote container −Group{Your−group−number}
Body:
Your team members, and who will be the sudoer.
And here is a brief writeup on how to connect to your container via VScode SSH-Remote. Remote-Writeup
If you are building your own docker container, you can use the following Dockerfile to build an image that is exactly the same as the remote ones except for users:
FROM ubuntu:20.04
MAINTAINER sixutan
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get update && apt-get install -y openssh-server git sudo gcc python3-matplotlib pip --fix-missing
RUN sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd
RUN useradd -m student1 -s /bin/bash
RUN echo 'student1:network305' | chpasswd
RUN echo 'student1 ALL=(ALL) ALL' >> /etc/sudoers
RUN mkdir /var/run/sshd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
Please search online to see how to build a Dockerfile.
Hi all,
Welcome to this lovely project. Finishing this project will be a tough journey, so we provide the following resources to assist you:
We provide 2 example files [dumbsender.py] and [dumbreceiver.py] that implement stop-and-wait with our skeleton codes in peer.py. Go to the repo link: Repo to run the example.
We prepared a video tutorial on how to run the example, hopefully it will be helpful. Go to Walkthrough-Video to watch it. Plus, we are planning to host another online walkthrough next week, and there will be Q&A session.
We host a discussion board on github for this project. Discussion Board You can follow this organization to get notifications of posted questions.
Our wonderful TA team provides in-person assistance by appointment. Schedules will be released later.
Checkpoints are not mandatory, but following them will be helpful to your progress. We will realse different tests at each checkpoint.