11. diel - Sieť v Jave - Klient/Server - Obojsmerná komunikácia
V minulej lekcii, Sieť v Jave - Klient/Server - Jednosmerná komunikácia , sme si vytvorili prvú aplikáciu typu klient-server s jednosmernou komunikáciou a obsluhou jedného klienta.
V predchádzajúcich dieloch nášho Java tutoriálu sme si ukázali príklad jednosmernej komunikácie pri sieťovej aplikácii typu klient/server. Išlo o celkom triviálny príklad, kedy server nečítal žiadne dáta od klienta a obsluhoval vždy iba jedného klienta. Dnes si ukážeme príklad obojsmernej komunikácie, pričom spolu vytvoríme server, ktorý bude od klienta prijímať text, ten následne upraví (napr. zmení veľkosť písmen) a bude ho posielať späť.
Obojsmerná komunikácia
V našom príklade obojsmernej komunikácie bude server taktiež umožňovať spracovať viac klientov naraz. To docielime pomocou vlákien. Keď sa klient pripojí, server vytvorí vlákno vyhradené danému klientovi. Server bude môcť počúvať a obsluhovať ostatných klientov súbežne.
Server s vláknami
Vlákna na strane servera umožňujú súbežné spracovanie viacerých
klientov. Klient teda nemusí čakať, kým bude predchádzajúci obslúžený,
ale môže pristupovať k serveru okamžite. Pri vytváraní nášho servera
opäť využijeme blok try-with-resources
, ktorý komunikáciu na
konci bloku automaticky uzavrie.
Import balíčkov
Na začiatku si naimportujeme tieto balíky:
import java.io.IOException; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; import java.util.concurrent.Executors;
Všimnime si balík java.util.concurrent
,
...koniec náhľadu článku...
Pokračuj ďalej
Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Kúpiť tento kurz
Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.
- Neobmedzený a trvalý prístup k jednotlivým lekciím.
- Kvalitné znalosti v oblasti IT.
- Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.
Popis článku
Požadovaný článok má nasledujúci obsah:
V tomto článku si prehĺbime naše doterajšie znalosti a ukážeme si obojsmernú komunikáciu sieťovej aplikácie typu klient/server.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.