===== Příklady programů ===== ^ zaměření příkladu ^ jazyk ^ ke stažení ^ datum posl. změny ^ |Jednoduchý TCP server (echo služba) s postupným zpracováním po jednom dotazu| C |[[http://baryk-ng.felk.cvut.cz/tcps.c|tcps.c]] | 2011-01-29 | |Klient pro výše uvedený TCP server| C |[[http://baryk-ng.felk.cvut.cz/tcp.c|tcp.c]] | 2011-01-29 | |TCP server se spouštěnými podprocesy na základě požadavku na spojení | C |[[http://baryk-ng.felk.cvut.cz/tcps-fork.c|tcps-fork.c]] | 2011-01-29 | |TCP server zpracovávající všechny požadavky paralelně. Paralelizmus v rámci procesu je řešen použitím funkce select(). | C |[[http://baryk-ng.felk.cvut.cz/tcps-select.c|tcps-select.c]] | 2011-01-29 | |Jednoduchý UDP server (echo služba) s postupným zpracováním po jednom dotazu| C |[[http://baryk-ng.felk.cvut.cz/udps.c|udps.c]] | 2011-01-29 | |Klient pro výše uvedený UDP server| C |[[http://baryk-ng.felk.cvut.cz/udp.c|udp.c]] | 2011-01-29 | |Příklad na tvorbu vláken - vhodný pro implementaci serveru, konkrétně obsluhu více klientů najednou| C |[[http://baryk-ng.felk.cvut.cz/threads.c|threads.c]] | 2011-01-29 | |Příklad na tvorbu vláken - vhodný pro implementaci serveru, konkrétně obsluhu více klientů najednou| C++ |[[http://baryk-ng.felk.cvut.cz/threads.cpp|threads.cpp]] | 2011-01-29 | |TCP echo služba (server a klient) | java |[[http://baryk-ng.felk.cvut.cz/java-tcp.zip|java-tcp.zip]] | 2011-01-29 | |UDP echo služba (server a klient) | java |[[http://baryk-ng.felk.cvut.cz/java-udp.zip|java-udp.zip]] | 2011-01-29 | |Šablona pro úlohu č.1 v jazyku Java (příklad na echo službu upravený pro překlad na serveru Baryk) | java |[[http://baryk-ng.felk.cvut.cz/uloha_1.zip|uloha_1.zip]] | 2011-01-30 | Poznámky: * Příklady implementující echo službu: servery opakují zpět klientům co dostanou, klienti vyšlou data na server a zase je přijmou. * Příklad použití jmenných služeb najdete v udp.c, v ostatních příkladech je použití vynecháno pro větší přehlednost. * Překlad zdrojových kódů v jazyce C se na počítačích SUN od prostředí s Linuxem mírně liší. Tam, kde je to potřeba, definujte: === === #define NULL 0 #define herror perror #define atexit(fn) on_exit(fn, 0) #define memmove memcpy #define INADDR_NONE -1 Pro překlad použijte parametry: gcc -lnsl -lsocket ===== ===== * Rozbalení, překlad a spuštění příkladů v jazyce Java (konkrétně pro TCP echo server): === === unzip tcp.zip cd TCP javac client/Client.java javac server/Server.java java server.Server& java client.Client ===== ===== * Rozbalení, překlad a spuštění šablony pro úlohu č.1 v jazyce Java: === === unzip uloha_1.zip cd uloha_1 javac robot/Robot.java java robot.Robot 3999 & # spuštění serveru (jako proces na pozadí) java robot.Robot baryk-ng.felk.cvut.cz 3999 # spuštění klienta