[go: up one dir, main page]

0% found this document useful (0 votes)
8 views2 pages

Unix Network Prog Study Checklist

This document outlines an 8-week study checklist for UNIX Network Programming, covering foundational C programming, networking concepts, and socket programming. Each week includes specific topics to study, practical programming tasks, and projects to complete, such as building a chat server and a file transfer server. The checklist emphasizes hands-on practice and understanding of both TCP and UDP protocols, as well as interprocess communication and multithreading.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views2 pages

Unix Network Prog Study Checklist

This document outlines an 8-week study checklist for UNIX Network Programming, covering foundational C programming, networking concepts, and socket programming. Each week includes specific topics to study, practical programming tasks, and projects to complete, such as building a chat server and a file transfer server. The checklist emphasizes hands-on practice and understanding of both TCP and UDP protocols, as well as interprocess communication and multithreading.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

■ UNIX Network Programming Study Checklist

Week 1 – Foundations
• ■ Refresh C programming (pointers, structs, malloc/free, function pointers).
• ■ Revise Unix basics: fork, exec, wait, signals.
• ■ Practice file I/O: open, read, write, lseek.
• ■ Install & set up Linux/WSL with GCC.
• ■ Learn to use man 2 (manual pages).

Week 2 – Intro to Networking


• ■ Read Chapter 1–2 (Intro + TCP/IP basics).
• ■ Write a program to print your hostname.
• ■ Resolve a domain to an IP (gethostbyname / getaddrinfo).
• ■ Draw OSI vs TCP/IP model (by hand for memory).

Week 3 – Sockets Basics


• ■ Read Chapter 3–4 (socket API, address structures).
• ■ Write a TCP client that connects to a server and prints “Connected!”.
• ■ Write a TCP server that accepts one connection and replies “Hello Client”.
• ■ Write a UDP echo server + client.

Week 4 – Elementary TCP/UDP Apps


• ■ Study iterative vs concurrent server (using fork).
• ■ Modify TCP server to handle multiple clients.
• ■ Implement a basic chat server (1-to-1 chat).

Week 5 – Advanced I/O


• ■ Study select, poll.
• ■ Convert chat server to handle multiple clients with select.
• ■ Implement a simple broadcast server (all clients receive messages).

Week 6 – Robustness & Advanced Sockets


• ■ Study socket options (setsockopt, getsockopt).
• ■ Experiment with SO_REUSEADDR, SO_LINGER, SO_KEEPALIVE.
• ■ Add timeout handling in your TCP client.

Week 7 – IPC (Interprocess Communication)


• ■ Study Pipes, FIFOs, Message queues, Shared memory.
• ■ Parent-child communication using a pipe.
• ■ Two processes chatting using FIFO.
• ■ Shared memory program (writer + reader).
Week 8 – Daemons & Multithreading
• ■ Learn how to create a daemon process.
• ■ Use syslog for logging.
• ■ Write a multithreaded TCP server with pthreads.
• ■ Stretch goal: build a mini HTTP server that serves static files.

After 8 Weeks – Projects


• ■ File transfer server (send/receive files).
• ■ DNS client (resolve domains via raw sockets).
• ■ Minimal proxy server (forward requests).
• ■ Multi-room chat server with threads.

You might also like