Created a client-server application using the UDP protocol to communicate across a network that can corrupt or lose data packets. Implemented the reliable data transfer protocol (rdt 3.0) to check for corruption or data loss for each sent packet in Python.