Prezentace úkolu číslo 1 FTP server a FTP klient Jakub Holý, Michal Sluštík, Ondřej Průcha, Milan Víšek ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
FTP server pro obsluhu velkého počtu požadavků Prezentace systému Ondřej Průcha, Milan Víšek ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
Obsah Zadání - server Technologie Design systému Schéma Stav implementace Závěr první části Zadání – klient Závěr Ondřej Průcha, Milan Víšek – server ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
Zadání Více vláknový server 1 serverové vlákno obsluhuje více požadavků FTP funkce (navazování, ukončování, základní příkazy) Práce s daty (vytváření adresářů, přejmenování, mazání) Logování spojení Konzolové rozhraní Ondřej Průcha, Milan Víšek – server ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
Jazyk C, C++ Framework Qt Technologie Jazyk C, C++ Framework Qt Ondřej Průcha, Milan Víšek - server ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
Design systému Komponenty listenThread (QTCPServer) – příchozí připojení acceptionThread (QThread) – odmítá / přijímá a zařazuje požadavky do fronty reqQueue (QQueue) – prioritní fronta požadavků serveTimer (QTimer) – timer maximální délky zpracování serverThreadPool (QThreadPool) – správa obsluhujících vláken serveThread (QThread) – obsluhující vlákno cacheFileIn (QCache) – vyrovnávací paměť pro soubory cacheFileOut (QCache) – vyrovnávací paměť pro soubory fileThread (QThread) – vlákno pro nahrávání / ukládání z a do cache Ondřej Průcha, Milan Víšek - server ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
Ondřej Průcha, Milan Víšek - server listenThread reqQueue serveThread Pool serveThread Timer cache cache fileThread fileThread Ondřej Průcha, Milan Víšek - server ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
Implementace V současné době naimplementováno: ListenThread ReqQueue queueItem částečně přenos dat částečně acceptionThread - funkční nevláknový testovací FTP server se základní funkčností Ondřej Průcha, Milan Víšek ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
Konec první části prezentace Nějaké dotazy? Ondřej Průcha, Milan Víšek ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
FTP klient s grafickým uživatelským rozhraním Prezentace systému Jakub Holý, Michal Sluštík ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
Zadání QT GUI Více přenosů zároveň Možnost nastavení počtu těchto přenosů Práce s daty (upload, download, přejmenování, mazání) Rozhraní s dvěma panely(lokální, FTP) Informace o probíhajících přenosech Jakub Holý, Michal Sluštík ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
Technologie Jazyk C, C++ QT Creator Jakub Holý, Michal Sluštík ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
Design systému Komponenty Connection – zajištuje spojení s FTP serverem Panel – vlastní GUI klienta(lokální a FTP seznam souborů, tlačítka, informace o jednotlivých přenosech) TransferQueueItem – fronta souborů čekajících na přenos QxFtp – rozšířená třída QFtp, přidány sloty a signály umožnující více přenosů Jakub Holý, Michal Sluštík ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
Jakub Holý, Michal Sluštík QxFtp Main Connection Panel TransferQueueItem Jakub Holý, Michal Sluštík ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
Implementace V současné době naimplementováno: připojování k FTP serveru nastavení maximálního počtu přenosů přejmenování souboru nebo složky mazání souborů upload informace o přenosech částečně download částečně mazání celých složek Jakub Holý, Michal Sluštík ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS
Děkujeme za pozornost Nějaké dotazy? Konec Děkujeme za pozornost Nějaké dotazy? Ondřej Průcha, Milan Víšek, Jakub Holý, Michal Sluštík ČVUT Fakulta elektrotechnická, Praha Y36API – Aplikační rozhraní OS