Most iOS networking lives at the application layer, where URLSession is the right answer. Below that, the Network framework offers direct control over TCP and UDP, which is what you need for latency-sensitive or non-HTTP protocols.
The piece covers why working at the transport layer is sometimes the correct choice, what UDP gives up in exchange for what it gains, and then builds both halves — a UDPServer and a UDPClient — as code you can run rather than as a description of an API.
The case for skipping TCP's handshake rests on a real example: testing a connected vehicle, at Arrival, where commands from the mobile app had to reach the car fast enough that a tester could steer it almost like a radio-controlled toy. That anecdote is what motivates the trade the rest of the piece works through — accepting that a dropped packet is simply gone in return for not paying a connection-setup cost on every message.
Both halves are built the same way: a package is scaffolded, the server or client type is written behind a small protocol so the Network.framework details stay out of its public surface, and the result is exercised from the command line rather than left as an untested listing.