A TCP socket is the layer underneath HTTP, gRPC, WebSockets, and most other client protocols. HTTP is built on TCP; this lesson is the layer below. C# exposes TCP through System.Net.Sockets, with TcpListener and TcpClient as wrappers on top of the raw Socket class. This lesson covers when dropping below HTTP makes sense, how to write an async TCP server and client, the framing problem, and how to shut connections down without losing data or leaking handles.