Computer EngineeringComputer Information SystemsComputer NetworkingComputer ScienceComputing & Information TechnologyCybersecurity

Network Programming in C: Develop Reliable Client/Server Applications

Are you a C programmer looking to explore networking programming? In this course, instructor Dan Gookin provides an overview of network communications, terms, strategies, and concepts. Dan explores this complex topic in a step-by-step progression, exploring networking in Linux, macOS, or Windows 10/11 running the Windows Subsystem for Linux (WSL). Included are relevant parts of the operating system and how to access local networking features.
The core of the course deals with socket programming at the client/server level. The IPv4 and IPv6 protocols are covered, as are TCP and UDP connections. Dan shows you how to program a client and server for both types of connections. The course finishes with a challenge: Code a Linux, text-mode real time chat server that accepts multiple connections, tracks conversations, and logs connections.

Learn More