Студијски програм : Дипломске академске студије

Назив предмета: Мрежно програмирање

Наставник: Доц. Зоран Николић

Статус предмета: Изборни

Број ЕСПБ: 4

Услов:

Циљ предмета: Да студентима омогући познавање теорије, принципа, стандарда, протокола и основних библиотека на којима је базирано мрежно програмирање. Овај курс захтева познавање програмског језика C/C++, као и у извесној мери познавање апликативног програмирања под оперативним системом Windows.

Исход предмета: Усвајање теоријских основа мрежног програмирања у оквирима развојних окружења под Windows или Linux оперативним системима. Упознавање са специфичним развојим платформама у области мрежног програмирања, као и упознавање са методама програмирања базираних на протоколима. Развој портабилних апликација за размену информација на релацији клијент-сервер, као и развој апликација за управљање даљинском аквизицијом података.

Садржај предмета:

Теоријска настава: Основе Microsoft NetBIOS-а и програмирања у њему. UNC, Mailslot, Named Pipe  комуникација између програма. Протоколи. Winsock2. WSASocket сокети под Windows-има. Креирање и управљање сокетима. Основне Socket API функције, модови и модели. Реализација конекција коришењем Winsock2 API-ја. IP адресе. Две врсте сокета. Системски позиви.

Мултиплатформско мрежно програмирање. Увод у TCP/IP. Независност протокола. Клијент и сервер. Транспортни нивои TCP и UDP. Портови. TCP бројеви портова и конкурентски сервери. Величине бафера и лимити. Више о сокетима. Адресе и сокети. Byte Ordering функције. Функције за манипулацију бајтовима. Елементарни TCP и UDP сокети. Сличности и разлике. Начини примене и домени употребе. Примери клијената и сервера. Нормалан старт и излазак из клијентског програма. Размене порука. Режими рада. Прекид конекције пре прихватања Return-а. Излазак из серверских процеса. Обраде ексцесних процеса и изузетака.

Примена Socket програмирања у реализацији Client-Server апликација. Пример размене тесктуалних порука - CHAT апликација. Размена системских порука. Пренос информација и развој система за аутоматску размену информација. Системска информација као датотека или ток. Развој клијент-сервер апликације за remote measuring и управљање мерењем.

Литература:

1. A. Jones, Network Programming for Microsoft Windows, Microsoft Press, (1999).

2. R. Stevens, Unix network programming 1 & 2, Prentice Hall PTR, (1998).

3. B. Hall, Beej’s Guide to Network Programming Using Internet Sockets, Brian “Beej Jorgensen” Hall, (2005).

Број часова  активне наставе:  2

Теоријска настава:  5 (2+2)

Практична настава:

Методе извођења наставе

Предавања (Теоријска обрада тематских јединица, практични примери, домаћи задаци), рачунске вежбе (домаћи задаци и семинари).

Оцена  знања (максимални број поена 100)

Предиспитне обавезе

поена

 

Завршни испит

поена

активност у току предавања

15

писмени испит

15

активност у току рачунских вежби

15

усмени испит

25

семинар

30

UKUPNO

100