IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

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 korún

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

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh a certifikátom iba za 700 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto balíčku získaš prístup ku všetkým 21 článkom (12 lekcií, 5 testov, 4 praktické cvičenia) tohoto kurzu.

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

Čo od nás v ďalších lekciách dostaneš?
  • 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ť.

Č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