Warning
This repository contains my solutions and notes while working through the excellent, and freely accessible Beej's Guide to Network Concepts, a comprehensive introduction to computer networking concepts.
Please note that all solutions herein were produced without any LLM assistance. Where any cloze-style template is provided by the textbook for the project, I've adopted that as the basis for my solution. Any errors or lapses of understanding are solely my own.
Please note that the chapters for which solutions are presented is non-contiguous as not all chapters in the textbook had programmatic questions or projects associated. The list of projects is as follows:
Chapter | Textbook link to project description | Solutions |
---|---|---|
5 | HTTP Client and Server | Solutions |
9 | A Better Web Server | Solutions |
12 | Atomic Time | Solutions |
13 | The Word Server | Solutions |
16 | Validating a TCP Packet | Solutions |
19 | Computing and Finding Subnets | Solutions |
22 | Routing with Dijkstra’s | Solutions |
30 | Using Select | Solutions |
39 | Multiuser Chat Client and Server | Solutions |
My focus in these solutions is on simplicity and straightforward, imperative code, following the style used by Beej in the textbook. For production applications, you would want to add more abstraction and robust error handling. These solutions are meant to be educational and illustrative.
Tip
At a future point, I'll walk through each of the projects in a blog post and describe what I learned from each of them, as well as follow-up considerations I had.