Mrežno programiranje
Opis predmeta
Osnovni koncepti mrežnog i distribuiranog programiranja. TCP i UDP "socket" sučelja. Dizajn klijenata i poslužitelja. Izrada mrežnih aplikacija temeljenih na UDP i TCP protokolu. Dizajn i implementacija aplikacija korištenjem višenitnih programa. Razašiljanje poruka svim računalima i grupi primatelja. SCTP "socket" sučelje. Problemi sigurnosti. Praktični primjeri mrežnih aplikacija u Unix okruženju korištenjem programskog jezika C. Primjeri mrežnog programiranja u Javi i skriptnim jezicima.
Ishodi učenja
- Definirati tipove mrežnih “socket” sučelja i navesti njihova svojstva.
- Razlikovati konekcijski i beskonekcijski orijentirane aplikacije.
- Razlikovati postupak dizajna konkurentnog i iterativnog poslužitelja.
- Napisati jednostavne mrežne aplikacije temeljena na protokolima UDP i TCP korištenjem programskog jezika C u Unix okruženju.
- Analizirati rad i otkrivati pogreške u vlastitim mrežnim aplikacijama.
- Koristiti osnovne alate za kreiranje i testiranje mrežnih programa u Unix okruženju.
Oblici nastave
Predavanja
Predavanja
Samostalni zadaciSamostalni zadaci
LaboratorijLaboratorijske vježbe
Tjedni plan nastave
- "Port" i "socket". Aplikacijsko programsko sučelje: Socket (API). Naziv i adresa
- "Port" i "socket". Aplikacijsko programsko sučelje: Socket (API). Naziv i adresa
- "User Datagram Protocol" (UDP): poslužitelj i klijent. Aplikacijski protokoli temeljeni na protokolu UDP
- "Transmission Control Protocol" (TCP): poslužitelj i klijent. Konkurentnost. Aplikacijski protokoli temeljeni na protokolu TCP. "Hypertext Transfer Protocol" (HTTP) i "File Transfer Protocol" (FTP). Jednostavni HTTP poslužitelj
- Opcije sučelja "Socket". Sučelje "Raw"
- Opcije sučelja "Socket". Sučelje "Raw"
- Demoni i super-server "inetd"
- Međuispit
- Multipleksiranje ulazno izlaznih operacija. Dretve
- Sve odredišno i više odredišno adresiranje i aplikacije
- "User Datagram Protocol" (UDP): poslužitelj i klijent. Aplikacijski protokoli temeljeni na protokolu UDP
- "Transmission Control Protocol" (TCP): poslužitelj i klijent. Konkurentnost. Aplikacijski protokoli temeljeni na protokolu TCP. "Hypertext Transfer Protocol" (HTTP) i "File Transfer Protocol" (FTP). Jednostavni HTTP poslužitelj
- Aplikacije temeljene na protokolu SCTP ("Stream Control Transmission Protocol"), Sigurnosna pitanja i smjernice za programiranje
- Primjeri mrežnog programiranja u Javi i Pythonu
- Završni ispit
Studijski programi
Sveučilišni preddiplomski
Izborni predmeti (6. semestar)[FER3-HR] Računarstvo - studij
Izborni predmeti
(6. semestar)
[FER2-HR] Programsko inženjerstvo i informacijski sustavi - modul
Izborni predmeti
(6. semestar)
[FER2-HR] Računalno inženjerstvo - modul
Izborni predmeti
(6. semestar)
[FER2-HR] Računarska znanost - modul
Izborni predmeti
(6. semestar)
[FER2-HR] Telekomunikacije i informatika - modul
Izborni predmeti
(6. semestar)
Literatura
(.), Unix Network Programming, Vol. 1: The Sockets Networking API; W. Richard Stevens, Bill Fenner, Andrew M. Rudoff Addison; Addison-Wesley Professional; 2003; ISBN: 978-0131411555,
(.), TCP/IP Illustrated: The Implementation, Vol. 2; Gary R. Wright, W. Richard Stevens; Addison-Wesley Professional; 1995; ISBN: 078-5342633542,
Nositelji
Predavanja
Laboratorijske vježbe
Za studente
Izvedba
ID 183394
Ljetni semestar
5 ECTS
R1 Engleski jezik
R1 E-učenje
30 Predavanja
0 Seminar
0 Auditorne vježbe
15 Laboratorijske vježbe
0 Konstrukcijske vježbe
Ocjenjivanje
90 izvrstan
78 vrlo dobar
65 dobar
50 dovoljan