Nové výhodné předplatné namísto kreditů je tu! Více informací. Upravili jsme také naše provozní podmínky.
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

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

Znalosti v hodnotě stovek tisíc získáš za pár korun

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.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš s Provozními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Přístup k jednotlivým lekcím dle způsobu pořízení.
  • 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.
Článek pro vás napsal 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