Lekce 11 - Síť v Javě - Klient/Server - Obousměrná komunikace
V minulé lekci, Síť v Javě - Klient/Server - Jednosměrná komunikace, jsme si vytvořili první aplikaci typu klient-server s jednosměrnou komunikací a obsluhou jednoho klienta.
V předchozích dílech našeho Java tutoriálu jsme si ukázali příklad jednosměrné komunikace u síťové aplikace typu klient/server. Šlo o docela triviální příklad, kdy server nečetl žádná data od klienta a obsluhoval vždy pouze jednoho klienta. Dnes si ukážeme příklad obousměrné komunikace, přičemž spolu vytvoříme server, který bude od klienta přijímat text, ten následně upraví (např. změní velikost písmen) a bude jej posílat zpět.
Obousměrná komunikace
V našem příkladu obousměrné komunikace bude server rovněž umožňovat zpracovat více klientů najednou. Toho docílíme pomocí vláken. Když se klient připojí, server vytvoří vlákno vyhrazené danému klientovi. Server bude moci naslouchat a obsluhovat ostatní klienty souběžně.
Server s vlákny
Vlákna na straně serveru umožňují souběžné zpracování více
klientů. Klient tedy nemusí čekat, až bude předchozí obsloužen, ale
může přistupovat k serveru okamžitě. Při vytváření našeho serveru
opět využijeme blok try-with-resources
, který komunikaci na
konci bloku automaticky uzavře.
Import balíčků
Na začátku si naimportujeme tyto 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šimněme si balíku java.util.concurrent
,
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tomto článku si prohloubíme naše dosavadní znalosti a ukážeme si obousměrnou komunikaci síťové aplikace typu klient/server.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.