Dali moze pomoc oko Java zadatka Klijent-Server

Potrebno je kreirati aplikaciju za sabiranje dva broja. Sama operacija sabiranja trebalo bi da se odigra na serveru, koji prihvata dva sabirka i isporučuje rezultat. Stoga je neophodno da rešenje sadrži dve komponente: serversku i klijentsku.

Potrebno je da se klijentska komponenta sastoji iz dva polja za unos sabiraka, tastera za pokretanje računanja i jednog polja za prikaz rezultata sabiranja. Koristiti java.awt biblioteku za grafički deo. Za nešto nižu ocenu, moguće je da klijent bude konzolna aplikacija, a ne grafička.

Potrebno je da serverska komponenta prihvati ta dva broja od klijenta, sabere ih i klijentu isporuči njihov zbir.

Obe komponente je moguće kreirati unutar jednog projekta (koristeći niti) ili u posebnim projektima.

Takođe, potrebno je obraditi (pomoću try-catch blokova) sve izuzetke koji se javljaju u kodu.

Unapred hvala na pomoci!

miki123
13.04.2020
Одељци: Зид Питања и одговори miki123 | Кључне речи:
0

Коментари:

Нови одговор Нови коментар

Одговори:

Приказано 1-1 од 1 ставке.

Потребно је да креирате два програма, клијент и сервер. 

Сервер

На страни сервера креирајте ServerSocket објекат.

server = new ServerSocket(port);

Након тога можете направити бесконачну петљу где ћете прихватати конекцјие од клијента.

  for (;;) {
    try (Socket klijent = server.accept();) {
        //ovde napisati kod za komunikaciju klijenta i servera
    } catch (Exception exc) {
        //kod za obradu greske
    }
}

Функција accept блокира извршавање програма док чека на захтев клијента. Када стигне захтев креира се нови објекат типа Socket, путем којег је могуће прочитати поруку од клијента, и уписати одговор. За упис и читање података можете користити ObjectInputStream и ObjectOutputStream. На пример читање низа целих бројева можете реализовати на следећи начин:

ObjectInputStream ulaz = new ObjectInputStream(klijent.getInputStream());
int[] nizSabiraka = (int[]) ulaz.readObject();

 

Клијент

Други део задатка је креирање клијента који се повезује са сервером, шаље захтев, чита одговор и приказује резултат.  Следећи код би се могао наћи у оквиру функције која се позива на клик дугмета:

try (Socket server = new Socket("localhost", port)) {                      
    //ovde napisati kod za komunikaciju klijenta i servera
} catch (Exception exc) {
    //ovde ide kod za obradu (prikaz) greške
}

За упис и читање података такође можете користити ObjectInputStream и ObjectOutputStream објекте.

Ивица
14.04.2020
Одељци: Зид Питања и одговори Ивица
0

Коментари:

Ивица: За часове програмирања можете ме контактирати путем мејла lazarevic.ivica@gmail.com
14.04.2020 у 14:13 часова
Нови коментар

©Библиотека++ 2020 Развој сајта Ивица Лазаревић