TerminologyEndiannessNetwork ModelsProtocolsPacketsImplementation 1: MTUDPDesign ConsiderationsThings to Watch Out ForMutexesThreads, Monitor, and the Problem of the try/throw/catch ConstructionMTUDP: The Early YearsMTUDP::Startup() and MTUDP::Cleanup()MTUDP::MTUDP() and MTUDP::~MTUDP()MTUDP::StartListening()MTUDP::StartSending()MTUDP::ThreadProc()MTUDP::ProcessIncomingData()MTUDP::GetReliableData()Reliable CommunicationscDataPacketcQueueIncHostMTUDP::ReliableSendTo()cUnreliableQueueIncHost::AddACKMessage()/cHost::ProcessIncomingACKs()cNetClockImplementation 2: Smooth Network PlayGeographic and Temporal IndependenceTiming is EverythingPick and ChoosePrediction and ExtrapolationConclusion