Introduction to Unix Network Programming

[Home] [Class syllabus] [Useful links] [Assignments]

Brief Course Description: this short course introduces basic elements of network programming in C under a typical Unix operating system. Topics will include, but not limited to, elementary BSD socket APIs, signal handling, for network programming, non-blocking IO, concurrent server, and a brief introduction to some advanced network programming aspects such as raw sockets, broadcasting and multicasting, and daemon processes. Students are expected to have some rudimentary knowledge of computer networking in general, and a working knowledge of system programming in C/C++ under Unix/Linux (file I/O, processes, signal handling, make files, etc.). At the end of the course, students are expected to know how to do network programming in C under Unix: TCP/UDP sockets, network I/O multiplexing, design a fairly complex network program following a specified protocol.


References: