582303 Verkkosovellusten toteuttaminen (7 op, 4 ov)
582303 Implementering av nätverksapplikationer (7 sp, 4 sv)
582303 Network Programming (7cp, 4 cu)
Kurssin sisältö (alustava) / Course Content
Kurssi perustuu Stevensin kirjan Unix Network Programming, Volume 1, 3rd
Edition (Addison-Wesley, 2004) lukuihin 1-17, 20-26 aj 30. Lisälukemistona Stevensin
kirjan toinen osa Unix Network Programming, Volume 2, 2nd Edition
(Prentice-Hall, 1999) on hyödyllinen, erityisesti kurssin osassa 2
(Unix sovellusalustana) ja 5.1 (Säikeet) käsiteltävien asioiden kohdalla.
Alla oleva asioiden käsittelyjärjestys on viitteellinen, mutta se kattaa
kurssilla käsitellyt asiat.
Koealue: kurssin kokeeseen tulee luennoilla ja harjoituksissa
käsitellyt asiat. Alue kattaa kirjan luvut 1-17, 20-26 ja 30 sekä
liitteet A-D. SCTP-pistokkeisiin liittyviä asioita ei vaadita.
The course is based on the Stevens book (see below). In part 2 of
the course, another book by Stevens: Unix Network Programming, Volume 2,
2nd Edition (Prentice-Hall, 1999) is very helpful.
The exam area covers the chapters 1-17, 20-26 and 30 plus Appendixes
A-D of the course book (Stevens: Unix Network Programming, Volume 1, 3rd Edition,
Addison-Wesley, 2004).
- Johdanto / Introduction (Ch. 1-2)
- Unix-prosessit ja TCP/IP-tietoliikenne / Unix processes and TCP/IP Netwoking
- Asiakas-palvelija -malli / Client-Server Model
- Unix sovellusalustana / Unix Programming (UNP, Vol 2)
- Systeemikutsurajapinta / System Call Interface
- Prosessien hallinta / Process Control
- Prosessien välinen kommunikointi Unix-järjestelmissä / IPC in Unix
- Pistokkeiden käytön perusteet / Elementary Sockets (Ch. 3-11)
- Pistokerajapinta / Socket API
- Pistokkeet Internet-alueella / Sockets in Internet Domain
TCP-pistokkeet (tavuvirtapistokkeet) / TCP Sockets (Stream Sockets) (Ch. 4-5, 2)
UDP-pistokkeet (tietosähkepistokkeet) / UDP Sockets (Datagram
Sockets) (Ch. 8, 2)
- Nimi- ja osoitemuunnokset / Name and Address Conversions (Ch. 11)
- Pistokevirhetilanteiden käsittelystä / Sockets and errors (Ch. 4-5)
- Pistokeoptiot / Socket Options (Ch. 7)
- I/O lomitus:select() ja sen käyttö / Multiplexing: select() usage (Ch. 6)
- Pistokkeiden monipuolisempi käyttö / Advanced Socket (Ch. 12-25)
- Monipuolisempi I/O / Advanced I/O Functions (Ch.14)
- Pistokkeet Unix-alueella / Sockets in Unix Domain (Ch. 15)
- Estymätön I/O / Nonblocking I/O (Ch. 16)
- Pistokkeiden käytön erityispiirteitä: lipukkeet, ioctl-operatioita,
OOB-data, I/O signaalit / Sockets: Special Features (Ch. 17, 22-25)
- Yleislähetys, monilähetys / Broadcasting, Multicasting, Ch. 20-21)
- Palvelijoiden ja asiakkaiden suunnittelusta / Client/Server Designing
- Demoniprosessit, Internet-demoni (inetd) / Daemon Processes, inetd (Ch. 13)
- Säikeiden käyttö / Threads Ch. 26)
- Palvelijoiden toteutusnäkökohtia / Server Design Alternatives (Ch. 30)
- Pistokkeet ja IPv6 / Sockets and IPv6 (Ch.12)
- [ SCTP-pistokkeet / SCTP Sockets (Ch. 9-10, 2) ]
Sivu luotu 12.1.2007,
Markku.Kojo@cs.Helsinki.FI
|