КДП/Лаб 2 2022
< КДП
Пређи на навигацију
Пређи на претрагу
- Овај рок није решен. Помозите SI Wiki тако што ћете га решити.
Друга лабораторијска вежба 2022. године одржана је 27. маја.
Поставка
Потребно је решити проблем вожње тобоганом (The Rollercoaster Problem) у дистрибуираном окружењу. Посетиоци и парк представљају клијентске програме који користећи централни сервер комуницирају и приступају датотекама на серверу.
- Ради приступања текстуалним датотекама које захтевају посетиоци и парк треба имплементирати интерфејс
Photoкоји има методе за дохватање и постављање имена датотеке, као и за постављање и дохватање садржаја саме фотографије. Интерфејс је дат у прилогу. - Класа парка (
Park), чији је код дат у прилогу, имаmainметоду и која се повезује са сервером ради управљања тобоганом. Серверски порт преко кога се комуницира и IP адреса сервера се уносе као аргументи командне линије. Остали аргументи су број тобогана којим се управља и број путника које тобоган може да прими. Комуникација са сервером се обавља користећи удаљене позиве процедура у програмском језику Јава (java.rmiпакет). - Класа посетиоца (
Visitor), чији је код дат у прилогу, имаmainметоду и која се повезује са сервером ради приступања тобогану и дохватању слика са вожње. Серверски порт преко кога се комуницира и IP адреса сервера се уносе као аргументи командне линије. Остали аргументи су број тобогана којим се вози које је потребно проследити на сервер. Комуникација са сервером се обавља користећи мрежно програмирање у програмском језику Јава (java.netпакет). Користити објектне токове података. На серверу треба да постоји већи број нити - за сваку конекцију по једна. Клијенти и сервер треба све време да држе отворену прикључницу кроз коју комуницирају. Уколико на клијентској или серверској страни дође до прекида везе та нит се прекида и њени ресурси се ослобађају. - Посетиоци и парк могу да приступају различитим тобоганима, тако да може да се деси да два парка у исто време управљају различитим тобоганима, или да парк управља а да посетиоци приступају различитим тобоганима.
- На серверу се чувају подаци о већем броју књига.
- Синхронизација између нити на серверу се обавља користећи мониторску класу
RollercoasterMonitor. - Потребно је имплементирати интерфејсе
PhotoиRollercoasterRMI. Интерфејси који су дати у прилогу морају се користити као такви, без измена. - Дате
mainметоде у класама парка и посетиоца такође није дозвољено мењати, уз изузетак заменеnullстварањем конкретног објекта на означеним местима.