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 | tcps.c | 2011-01-29 |
Klient pro výše uvedený TCP server | C | tcp.c | 2011-01-29 |
TCP server se spouštěnými podprocesy na základě požadavku na spojení | 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 | tcps-select.c | 2011-01-29 |
Jednoduchý UDP server (echo služba) s postupným zpracováním po jednom dotazu | C | udps.c | 2011-01-29 |
Klient pro výše uvedený UDP server | C | udp.c | 2011-01-29 |
Příklad na tvorbu vláken - vhodný pro implementaci serveru, konkrétně obsluhu více klientů najednou | C | threads.c | 2011-01-29 |
Příklad na tvorbu vláken - vhodný pro implementaci serveru, konkrétně obsluhu více klientů najednou | C++ | threads.cpp | 2011-01-29 |
TCP echo služba (server a klient) | java | java-tcp.zip | 2011-01-29 |
UDP echo služba (server a klient) | java | 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 | 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