КДП/Лаб 2 2022 — разлика између измена
< КДП
Пређи на навигацију
Пређи на претрагу
(Special:Permalink/4700 ali sada na dobrom mestu) |
м (ne) |
||
| Ред 1: | Ред 1: | ||
{{tocright}} | {{tocright}} | ||
{{нерешено}} | {{нерешено}} | ||
''' | '''Друга лабораторијска вежба 2022. године''' одржана је 27. маја. | ||
== Поставка == | == Поставка == | ||
Потребно је решити проблем | Потребно је решити проблем вожње тобоганом (''The Rollercoaster Problem'') у дистрибуираном окружењу. Посетиоци и парк представљају клијентске програме који користећи централни сервер комуницирају и приступају датотекама на серверу. | ||
* Ради приступања текстуалним датотекама које захтевају | * Ради приступања текстуалним датотекама које захтевају посетиоци и парк треба имплементирати интерфејс <code>Photo</code> који има методе за дохватање и постављање имена датотеке, као и за постављање и дохватање садржаја саме фотографије. Интерфејс је дат у прилогу. | ||
* Класа | * Класа парка (<code>Park</code>), чији је код дат у прилогу, има <code>main</code> методу и која се повезује са сервером ради управљања тобоганом. Серверски порт преко кога се комуницира и IP адреса сервера се уносе као аргументи командне линије. Остали аргументи су број тобогана којим се управља и број путника које тобоган може да прими. Комуникација са сервером се обавља користећи удаљене позиве процедура у програмском језику Јава (<code>java.rmi</code> пакет). | ||
* Класа | * Класа посетиоца (<code>Visitor</code>), чији је код дат у прилогу, има <code>main</code> методу и која се повезује са сервером ради приступања тобогану и дохватању слика са вожње. Серверски порт преко кога се комуницира и IP адреса сервера се уносе као аргументи командне линије. Остали аргументи су број тобогана којим се вози које је потребно проследити на сервер. Комуникација са сервером се обавља користећи мрежно програмирање у програмском језику Јава (<code>java.net</code> пакет). Користити објектне токове података. На серверу треба да постоји већи број нити - за сваку конекцију по једна. Клијенти и сервер треба све време да држе отворену прикључницу кроз коју комуницирају. Уколико на клијентској или серверској страни дође до прекида везе та нит се прекида и њени ресурси се ослобађају. | ||
* | * Посетиоци и парк могу да приступају различитим тобоганима, тако да може да се деси да два парка у исто време управљају различитим тобоганима, или да парк управља а да посетиоци приступају различитим тобоганима. | ||
* На серверу се чувају подаци о већем броју књига. | * На серверу се чувају подаци о већем броју књига. | ||
* Синхронизација између нити на серверу се обавља користећи мониторску класу <code> | * Синхронизација између нити на серверу се обавља користећи мониторску класу <code>RollercoasterMonitor</code>. | ||
* Потребно је имплементирати интерфејсе <code> | * Потребно је имплементирати интерфејсе <code>Photo</code> и <code>RollercoasterRMI</code>. Интерфејси који су дати у прилогу морају се користити као такви, без измена. | ||
* Дате <code>main</code> методе у класама | * Дате <code>main</code> методе у класама парка и посетиоца такође није дозвољено мењати, уз изузетак замене <code>null</code> стварањем конкретног објекта на означеним местима. | ||
== Решење == | == Решење == | ||
Тренутна верзија на датум 27. јул 2022. у 21:08
- Овај рок није решен. Помозите SI Wiki тако што ћете га решити.
Друга лабораторијска вежба 2022. године одржана је 27. маја.
Поставка
Потребно је решити проблем вожње тобоганом (The Rollercoaster Problem) у дистрибуираном окружењу. Посетиоци и парк представљају клијентске програме који користећи централни сервер комуницирају и приступају датотекама на серверу.
- Ради приступања текстуалним датотекама које захтевају посетиоци и парк треба имплементирати интерфејс
Photoкоји има методе за дохватање и постављање имена датотеке, као и за постављање и дохватање садржаја саме фотографије. Интерфејс је дат у прилогу. - Класа парка (
Park), чији је код дат у прилогу, имаmainметоду и која се повезује са сервером ради управљања тобоганом. Серверски порт преко кога се комуницира и IP адреса сервера се уносе као аргументи командне линије. Остали аргументи су број тобогана којим се управља и број путника које тобоган може да прими. Комуникација са сервером се обавља користећи удаљене позиве процедура у програмском језику Јава (java.rmiпакет). - Класа посетиоца (
Visitor), чији је код дат у прилогу, имаmainметоду и која се повезује са сервером ради приступања тобогану и дохватању слика са вожње. Серверски порт преко кога се комуницира и IP адреса сервера се уносе као аргументи командне линије. Остали аргументи су број тобогана којим се вози које је потребно проследити на сервер. Комуникација са сервером се обавља користећи мрежно програмирање у програмском језику Јава (java.netпакет). Користити објектне токове података. На серверу треба да постоји већи број нити - за сваку конекцију по једна. Клијенти и сервер треба све време да држе отворену прикључницу кроз коју комуницирају. Уколико на клијентској или серверској страни дође до прекида везе та нит се прекида и њени ресурси се ослобађају. - Посетиоци и парк могу да приступају различитим тобоганима, тако да може да се деси да два парка у исто време управљају различитим тобоганима, или да парк управља а да посетиоци приступају различитим тобоганима.
- На серверу се чувају подаци о већем броју књига.
- Синхронизација између нити на серверу се обавља користећи мониторску класу
RollercoasterMonitor. - Потребно је имплементирати интерфејсе
PhotoиRollercoasterRMI. Интерфејси који су дати у прилогу морају се користити као такви, без измена. - Дате
mainметоде у класама парка и посетиоца такође није дозвољено мењати, уз изузетак заменеnullстварањем конкретног објекта на означеним местима.