582303 Network Programming (5 cp)
582303 Verkkosovellusten ohjelmointi (5 op)
Course Content (tentative)
The course is based on the text book Stevens W. R., Fenner B., Rudolf A.M: Unix Network Programming,
Volume 1, 3rd Edition (Addison-Wesley, 2004), covering chapters
1-8, 11-17, 20-26 and 30 plus Appendixes A-D of the book. Another book by Stevens:
Unix Network Programming, Volume 2, 2nd Edition (Prentice-Hall, 1999)
is very helpful, especially to cover Part 2 (Unix Programming) and
Part 5.2 (Threads) of the course. Also Unix man pages for various system/socket
calls are important.
- Introduction (Ch. 1-2), Week 1
- Unix processes and TCP/IP Networking
- Client-Server Model
- Unix Programming (Ch. 4.7, 5.8-5.10 and UNP,
Vol 2: Ch. 1, 4 and Unix man pages)
- System Call Interface, Week 1
- Process Control, Week 1
- Unix IPC Basics, Week 2
- Elementary Sockets (Ch. 3-11), Week 2-3
- Socket API, Week 2
- Sockets in Internet Domain, Week 2-3
TCP Sockets (Stream Sockets) (Ch. 4-5, 2)
UDP Sockets (Datagram Sockets) (Ch. 8, 2)
- Name and Address Conversions (Ch. 11.1-5), Week 3
- Sockets and Error handling (Ch. 4-5), Week 3
- Socket Options (Ch. 7), Week 4
- Multiplexing: select() usage (Ch. 6), Week 4
- Advanced Socket (Ch. 12-25)
- Advanced I/O Functions (Ch.14), Week 4
- Sockets in Unix Domain (Ch. 15), Week 4
- Nonblocking I/O (Ch. 16), Week 5
- Sockets: Special Features (Ch. 17, 22-25), Week 5
- Sockets and IPv6 (Ch. 1.3, 4.1-4, 11.6-22, 12), Week 5
- Broadcasting, Multicasting, Ch. 20-21), Week 6
- Client/Server Designing
- Daemon Processes, inetd (Ch. 13), Week 6
- Threads (Ch. 26), Week 6
- Alternatives (Ch. 30), Week 6-7
Sivu luotu 8.1.2015
|