Taky bych podpořil TCP server. Tam jde aplikovat hned několik přístupů.
Thread/klient je overkill a pro reálné využití to není, listener a pool workerů je asi lepší, můžete tam dělat nějaký loadbalancing.
V rámci studia přistupujte na sdílené prostředky, určitě si zkuste i něco v shm.
Jako další challenge bych doporučil non-blocking IO a/nebo podporu TLS. Obzvláště to druhé je dobré si zažít - lekce správného monitorování událostí na soketu. Ačkoliv C# neznám, předpokládám, že to bude podobně "zajímavé" jako v C/C++.
-K-