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 | Кључне речи: Klijent-Server Java
|
0
|
Потребно је да креирате два програма, клијент и сервер.
На страни сервера креирајте 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
|
©Библиотека++ 2024 Развој сајта Ивица Лазаревић