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