Client: Course Project
|Role: Network Programmer
Tech Stack: Python, Socket Programming

This project demonstrates core concepts of computer networking by implementing a simple client-server application using TCP sockets. It was developed for the Communication Networks course at Telkom University to reinforce understanding of connection-oriented protocols, data serialization, and error handling.
Understanding how data moves reliably over networks is fundamental to software engineering. This project provides hands-on experience with low-level socket APIs, helping students grasp how HTTP, FTP, and other protocols are built on top of TCP.
The server listens for incoming connections, processes client requests (e.g., file transfer, message echo), and sends responses. The client initiates connections and handles user input. The implementation focuses on proper connection teardown, buffer management, and graceful error recovery—key aspects of robust network programming.