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

Vedomosti v hodnote stoviek tisíc získaš za pár eur

Došiel 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émiovej sekcie.

Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš s Prevádzkovými podmienkami.

Čo od nás v ďalších lekciách dostaneš?
  • Prístup k jednotlivým lekciám podľa spôsobu obstarania.
  • 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.
Článok pre vás napísal Zdeněk Dvorský
Avatar
Autor se věnuje programováni zatím jen pro zábavu, ale rád by to změnil na profesionální dráhu.
Aktivity