For my Computer Networking course, I worked with three other students to build a classroom instant messaging and file-sharing application that would allow a one-to-many connection from professors to students and a one-to-one connection from students to professors. We used multicasting to reduce the bandwith of the messages and files sent from the professor. We used UDP as our transport layer protocol. Since UDP is not reliable, we added our own loss-detection and retransmission layer on top. Watch a video demo of our app’s messager and file sharing capabilities.