Česky
Kamil Dudka

Tiny programs (C, C++, C#, ...)

File detail

Name:DownloadREADME [Download]
Detected charset:ISO-8859-2 - [Download as UTF-8]
Location: tiny > IPK > trunk
Size:2.2 KB
Last modification:2022-09-09 13:06

File content

Adresářová služba (projekt do předmětu IPK)
===========================================

Po sestavení příkazem 'make' získáte dvojici spustitelných souborů -- 'client' a
'server'.  'server' načte ze zadaného souboru databázi a spustí konkurentní
server adresářové služby na požadovaném portu. 'client' se potom podle zadaných
parametrů dotazuje serveru na údaje z databáze. Pro komunikaci mezi clientem a
serverem jsou použity TCP sockety -- client a server tedy mouhou běžet na
různých počítačích v síti TCP/IP.

Použití
-------
server port_number db_file
    port_numeber    číslo portu, na kterém server naslouchá
    db_file         název textového souboru obsahující databázi

client -h host -p port [-NSLF] [-n name] [-s surname] [-l login] [-f faculty]
    host            IP nebo URL adresa serveru
    port            číslo portu, na kterém server naslouchá
    -NSLF           udává, které údaje má odpověď obsahovat a jejich pořadí
    -n name         vyhledávání podle jména
    -s surname      vyhledávání podle příjmení
    -l login        vyhledávání podle loginu
    -f faculty      vyhledávání podle fakulty

    Pozn.: Jednotlivá kritéria je možná kombinovat. Musí být zadáno aspoň jedno
    kritérium pro vyhledávání a aspoň jeden údaj ze skupiny [-NSLF]. Na pořadí
    parametrů nezáleží. Výstup programu client je ve stejném tvaru jako soubor
    databáze.

Sestavení a testování
---------------------
Pro sestavení stačí zadat příkaz 'make'. Pro testování je přípraven spustitelný
soubor 'test.sh', který provede také sestavení. V souboru 'test.txt' je vzorová
databáze, kterou používá testovací script. Je možné použít jakoukoliv jinou
databázi v tomto tvaru. Ukončení serveru se provádí zasláním signálu SIGTERM.
Po ukončení je na stderr vypsáná hláška informující o korektním ukončení serveru
a uvolnění zdrojů. Program byl testován architekturách linux-x86, linux-x64 a
FreeBSD.

Popis jednotlivých souborů
--------------------------
    Makefile        GNU makefile
    server.cc(+.h)  hlavni modul serveru
    client.cc(+.h)  hlavni modul clienta
    netio.c(+.h)    modul zapouzdrujici TCP vrstvu
    test.sh         script, který provede sestavení a základní testy
    test.txt        vzorová databáze
    protocol.html   popis aplikačního protokolu