Linux Net Labs #2 - Multi-Client Forking Echo Server

Recap In Day 1, we built the simplest possible TCP server in C: a blocking echo server that handled one client at a time. That worked fine for basic tests, but it had a major limitation — a second client had to wait until the first one disconnected. Today, we fix that by introducing fork(). The Idea: fork() per Client Unix gives us a neat primitive: fork(). It clones the current process into a child, which can run independently of the parent. ...

September 16, 2025 · 6 min

Linux Net Labs #1 - Blocking Echo Server (Baseline)

Start from a single-thread blocking TCP echo server. Why it matters, how it works, pitfalls (EINTR, SO_REUSEADDR), and what’s next: forked/threaded → select → epoll.

September 15, 2025 · 11 min