====== Programovací úlohy ====== Cílem programovacích úloh je naučit se psát síťové aplikace za použití protokolů TCP a UDP. Úlohy vypracováváte samostatně (tzn. ne ve dvojicích ani více-icích). K vypracování je určeno primárně cvičení, samozřejmě studeti ale využívají nejčastěji domácí prostředí. Cvičící může (ale nemusí) poskytnout konzultace e-mailem. Cvičící musí poskytnout konzultace ve volném čase (kterého je dost) na cvičení. Cvičící obvykle není expertem přes programovací jazyky, je ale schopen poradit principielně. Se syntaxí v daném jazyce nemusí poradit. Jsme velice alergičtí na plagiátorství, úlohy vypracujte od nuly. Povoleno je "kopírování" generických fragmentů kódu, tzn. z nějakých tcp/udp examplů. ===== Prerekvizity ===== * znalost aspoň jednoho programovacího jazyka, který umožňuje využití socketů (java, c, python, ruby, perl, ...) - nepoužívejte Brainfuck, díky ===== Zadání ===== * [[uloha1-karel-zadani|Zadání úlohy č.1 - TCP]] - odevzdání 9. týden {{:vyuka:psi:cviceni:uloha1.pdf|}} * [[uloha2-zadani|Zadání úlohy č.2 - UDP]] - odevzdání 13. týden {{:vyuka:psi:cviceni:uloha2.pdf|}} ===== Materiály poskytnuté cvičícími ===== ==== Alex Moucha ==== * Priklady socketu: http://moucha.org/a7b36psi-2011/sockets.zip * Priklady vlaken: http://moucha.org/a7b36psi-2011/threads.zip ==== Ondřej Votava ==== * Ukázkové aplikace na TCP a UDP v Javě * {{:lide:votava:vyuka:sockets.zip|Projekt Netbeans}} * {{:lide:votava:vyuka:sockets.src.zip|Zdrojové soubory}} * [[virtual-image|Image pro Virtualbox s UDP serverem v 1.7.0]] ===== Doporučená literatura ===== * [[priklady|příklady programů]] * [[lide:votava:vyuka:navod-slax-virtualbox|Virtuální Linux pro UDP server]]- Pozor. Obsahuje lonskou implementaci! Je nutne aktualizovat soucasnym programem z techto stranek.