Jak naprogramovat internetovou komunikaci?

Save this PDF as:
 WORD  PNG  TXT  JPG

Rozměr: px
Začít zobrazení ze stránky:

Download "Jak naprogramovat internetovou komunikaci?"

Transkript

1 Jak naprogramovat internetovou komunikaci?

2 Co nám nabízejí některé programátorské nástroje? nižší úroveň programování programování pomocí tzv. socketů UNIX, Linux, Windows, Python, JAVA vyšší úroveň zapouzdření služeb do tříd v rámci objektově orientovaného programování JAVA,.NET (Microsoft), Python

3 Rozhraní socketů Je sice nejstarší, ale stále se používá

4 Rozhraní socket BSD (Berkley Socket Distribution) jde o standardní softwarové rozhraní pro zasílání dat pomocí rodiny IP protokolů vymyšleno a poprvé implementováno na univerzitě v Berkley do OS UNIX umožňuje programátorům používat TCP/IP, resp. UDP, obdobným způsobem, jako se pracuje se soubory

5 Charakteristika poprvé implementováno v jazyce C implementace do operačních systémů UNIX (Linux) - knihovna socket.h MS Windows knihovna winsock.h programátorské funkce jsou navrženy tak, aby bylo snadné naprogramovat aplikaci klient -server

6 Princip práce se soubory v jazyce C nejprve se soubor otevře; informace o otevřeném souboru se uloží do speciální datové struktury OS (file descriptor) zde proměnná f (ukazatel na typ FILE*) f = fopen( text.doc, rb ) jméno souboru mód otevření r čtení, w zápis b binární mód

7 ze souboru čteme data pomocí funkce fread( ), zapisujeme data pomocí funkce fwrite( ) zde v ukázce např. do pole data přečteme 10 bloků po 1 bytu ze souboru f, který jsme předtím otevřeli fread(data,1,10,f) po skončení práce uzavřeme soubor voláním funkce fclose( ) fclose(f)

8 návrháři přenesli tento jednoduchý princip do programování komunikace sítí Je to ale přece o trochu složitější programujeme aplikaci klient/server server čeká na příchod požadavku klienta TCP je orientované na spojení funkce navazující spojení musíme znát mnoho údajů IP adresu vlastní a partnera, porty

9 Co je to socket? učeně koncový komunikační uzel (endpoint) méně učeně datová struktura (data), nesoucí informaci o stavu síťového spojení; musíme jej vytvořit voláním speciální funkce podobně jako fopen pro otevření souboru pak komunikujeme pomocí funkcí write() a read(), jejichž parametr je otevřený socket (kam se posílají data)

10 Základní funkce rozhraní socket() vytvoří strukturu socket používá jej klient i server argumentem je rodina a typ protokolu (TCP,UDP), typ služby (spojovaná/nespojovaná) vrací identifikaci vytvořeného socketu close() dealokuje (zavírá) socket

11 Funkce používané serverem bind() připojí do socketu identifikaci lokálního uzlu, tj. moji IP adresu a port listen() spojovaná služba pasivuje socket, tj. nastaví jej do stavu čekání na příchod požadavků klienta (přes rezervovaný port) accept() - spojovaná služba přijde-li požadavek, accept vytvoří nový socket, pomocí něhož server komunikuje s klientem; původní socket je nadále v pasivním stavu a očekává nový požadavek (na rezerv. portu)

12 Funkce používané klientem connect() - spojovaná služba vytvoří spojení ke vzdálenému serveru v případě TCP 3-fázový potvrzovací protokol parametrem je adresa a port vzdáleného serveru po vytvoření spojení lze zahájit výměnu dat se serverem

13 Funkce přenosu dat read(), write() - spojovaná služba recvfrom(), recvmsg sendto(), sendmsg() čtení a zápis dat do socketu recvfrom zaznamená i příjemce

14 Spojované služby Klient socket connect write read close Server socket bind listen accept read write close

15 Nespojované služby Klient socket connect write Server socket bind recvfrom recvmsg read close sendto sendmsg close

16 Konkurentní TCP server Server (proces) Vlákno (syn) Vlákno (syn) Aplikace rezervovaný port individuální sockety a porty Operační systém

17 Ukázky, jak se to programuje 1. Vytvoření socketu s=socket(af_inet,sock_stream,tcp) rodina protokolů spojovaná služba protokol TCP

18 Ukázky, jak se to programuje 2. Bind server: vložení vlastní IP adresy a portu k socketu naplním datovou strukturu pro adresu a port addr.sin_family = AF_INET; port, kde poslouchám addr.sin_port = htons(3434); addr.sin_addr.s_un.s_addr = INADDR_ANY; bind(s,(sockaddr*)&addr,sizeof(addr)) moje adresa

19 Ukázky, jak se to programuje 3. listen server: čeká na příchod požadavku listen (s,somaxcon); socket max. délka fronty

20 Ukázky, jak se to programuje 4. listen server: po příchodu požadavku vytvoří nový socket pomocí accept a vytvoří nový proces, který dále komunikuje nový socket //vytvoření nového procesu sx=accept (s, adresa,délka); read(sx,data,vel); write(sx,data,vel);

21 algoritmičtěji listen (s,somaxcon); while (není_konec) { SOCKET sx = accept(s,adr,delka); fork() //vytvoření syn. procesu { read(s,data,vel); write(s,data,vel); } }

22 k dispozici je mnoho pomocných funkcí pro získání informací o počítači: gethostbyname() GetAddressByName - ve winsock2.h čtení a změna parametrů socketu getsockopt(), setsockopt() převodní funkce getservbyport() zjistí informace o serveru, např. voláme z řetězcem FTP, vrátí port 21

23 Jednoduchý příklad klient, který pošle serveru v TCP paketu jméno souboru server pošle obsah souboru v TCP paketu první slabika v paketu odpovědi signalizuje hodnotou -1, že soubor se nepodařilo otevřít příklad je značně zjednodušen předpokládá se, že soubor se vejde do jediného paketu o max. 100 bytech

24 Klient int Init_DLL(WORD version) { WSADATA wsadata; return WSAStartup(version, &wsadata); } specialita WIN nutnost inicializovat winsock.dll SOCKET Create_tcp_socket(void) { SOCKET s; s = socket(pf_inet,sock_stream,ipproto_tcp); return s; } int Set_sock_rcv_timeout(SOCKET s, int milisec) { return setsockopt(s, SOL_SOCKET,SO_RCVTIMEO,(char *)&milisec,sizeof(milisec)); }

25 if ((s=create_tcp_socket())==invalid_socket) { printf("nepodarilo se vytvorit socket."); getchar(); return 2; } err=set_sock_rcv_timeout(s,10000); ZeroMemory((void*)&addr,sizeof(addr)); addr.sin_family = AF_INET; addr.sin_port = htons(4242); addr.sin_addr.s_un.s_addr = inet_addr(" "); printf("spojuji se se serverem...\n"); if (connect(s,(sockaddr*)&addr,sizeof(addr))!= 0) { printf("spojeni se nepodarilo navazat...\n"); closesocket(s); return 2; }

26 send(s,"text.txt",9,0); printf("cekam na data\n"); int prijato; addr_len = sizeof(addr); if ((prijato=recv(s,paket,100,0))>0) { if (paket[0]==-1) { printf("server soubor nenalezl"); break; } else { for(int i=1;i<prijato;i++) putchar(paket[i]); } } closesocket(s); WSACleanup();

27 Server ZeroMemory((void*)&addr,sizeof(addr)); addr.sin_family = AF_INET; addr.sin_port = htons(4242); addr.sin_addr.s_un.s_addr = INADDR_ANY; if (bind(s,(sockaddr FAR *)&addr,sizeof(addr))!=0) { printf("nepodarilo se provest bind"); closesocket(s); WSACleanup(); return 2; }

28 printf("pasivuji socket...\n"); if(listen(s,10)==socket_error) { printf("nepodarilo se vytvorit frontu"); closesocket(s); WSACleanup(); return 2; } addr_len=sizeof(addr_from); novy_s = accept(s,(sockaddr*)&addr_from,&addr_len); printf("prisel pozadavek...\n"); recv(novy_s,jmeno,256,0); printf("pozadavek na soubor %s\n",jmeno); // načtení souboru send(novy_s,packet,celkem_precteno+1,0);

29 Princip socketů je stále využíván i v nových programátorských prostředcích!

30 Programování pomocí OOP (objektově orientovaného programování)

31 JAVA sockety, třídy pro práci s IP adresou atd. Microsoft MFC objektové prostředí pro tvorbu aplikací ve Windows.NET pro síťové poskytuje pouze zapouzdřený socket jako CSocket definovány třídy na vyšší úrovni (TCPClient)

32 Co je OOP? počátky programování strukturované programování posloupnost operací (příkazů) nad relativně jednoduchými daty (matematické výpočty) svět se skládá z objektů, které mají určité vlastnosti; objekty mají mezi sebou nějaké vztahy, něco se s nimi děje

33 v OOP základní datový prvek objekt sdružuje (zapouzdřuje) data (tzv. atributy) a funkcionalitu (operace nad daty metody) definice podoby objektu se nazývá třída (class) termínem třída se také někdy označuje souhrn objektů stejných vlastností některé objektové programovací jazyky: C++, Java, SmallTalk, Delphi (objektový Pascal)

34 Příklad (v jazyce C++): // definice struktury adresa typedef struct { char Ulice[20]; //typ retezec int Cislo; char Mesto[20]; } Adresa;

35 // definice třídy osoba class Osoba { char Jmeno[20]; //atributy char Prijmeni[30]; char RC[12]; Adresa adresa; int Pocet_deti; Osoba* deti[5]; int Ma_narozeniny(); void Pridej_dite(Osoba *dite); Osoba(); }; Konstruktor Atribut strukturovaného datového typu Odkaz (ukazatel) na jiný objekt (zde pole 5 ukazatelů) Metody

36 konstruktor inicializuje objekt Osoba::Osoba { Pocet_deti = 0; } příklad definice metody: void Osoba::Pridej_dite(Osoba* dite) { deti[pocet_deti] = dite; Pocet_deti = Pocet_deti + 1; }

37 program obsahuje deklaraci objektů // zde deklarace dvou objektů typu osoba, // konstruktor je automaticky vyvolán Osoba zamest, dite; // staticky Osoba *sef = new Osoba(); //dynamicky kód - operace s atributy, volání metod //POZOR, následující operace přiřazení řetězců nejsou v jazyku C správně, zápis je jen pro ilustraci

38 zamest.jmeno = "Josef"; zamest.prijmeni = "Novák"; zamest.adresa.ulice = "Hradební"; dite.jmeno = "Markéta"; dite.prijmeni = "Nováková"; zamest.pridej_dite(&dite); zamest.ma_narozeniny(); atd.

39 V OOP se využívají některé další techniky: dědičnost nově definovaná třída dědí atributy a metody po předcích; metoda může být předefinována řízení přístupu k atributům a metodám private proměnnou nebo metodu nelze použít mimo objekt přetěžování např. více metod se stejným jménem a různým kódem lišící se parametry strukturované ošetření chyb výjimky při chybě se vyhodí výjimka; výjimky se ošetřují v kódu na jednom místě (na dané úrovni)

40 Princip používání výjimek try { kód if (chyba) throw Vyjimka_sit } catch Vyjimka_sit { reakce na chyby } obsloužení vyjímky vznik výjimky

41 JAVA

42 Síťová komunikace v JAVě všechny třídy týkající se sítě jsou soustředěny v knihovně (balíčku) java.net tříd a přidružených definicí je mnoho: asi 36 tříd týkajících se komunikace 12 souvisejících výjimek 6 rozhraní (interface) většina původní složité komunikace pomocí socketů je zjednodušena díky proudům

43 Balík java.net obsahuje především: třídu pro adresaci InetAddress, URL třídy pro TCP komunikaci URLConnection, Socket, ServerSocket třídy pro UDP komunikaci DatagramPacket, DatagramSocket výjimky ProtocolException, SocketException, ConnectException, PortUnreachableException, UnknownHostException,

44 Třída InetAddress objekty nesou IP adresu, tj. 32 resp. 128 bitové číslo bez znaménka implementuje IPv4 i IPv6 má potomky Inet4Address a Inet6Address adresa může být typu unicast nebo multicast tj. paket se má dodat na jedno či více míst nemá přímo přístupné konstruktory, objekty jsou vraceny statickými funkcemi

45 Metody InetAddress getbyname( String host ) adresa hostitele dle DNS. InetAddress[ ] getallbyname( String host ) adresy hostitele dle DNS. InetAddress getbyaddress ( byte[ ] addr ) vytvoří objekt podle adresy zapsané v normálním poli InetAddress getlocalhost( ) adresa lokálního hostitele, tj. moje

46 byte [ ] getaddress( ) adresa po bytech. String gethostaddress( ) textová reprezentace adresy hostitele. String gethostname( ) jméno hostitele

47 Příklad: InetAddress a=inetaddress.getbyname("www.seznam.cz"); byte[ ] b=a.getaddress( ); // rozklad na slabiky System.out.println( b[0] + "." +b[1] +"."+ b[2] +"."+ b[3] );

48 Třída URL nese informace o lokalitě zdroje přetížené konstruktory umožňují vytvořit URL jednak pomocí plné specifikace řetězem, jednak pomocí jednotlivých částí URL při nesprávném zadání vyhodí výjimku MalformedURLException.

49 Metody getprotocol( ), gethost( ), getfile( ),... umožňují vybírat části URL. URLConnection openconnection( ) vrací objekt typu URLConnection, který reprezentuje spojení (např. komunikaci pomocí http) se vzdáleným objektem, identifikovaným daným URL

50 Třída URLConnection abstraktní třída reprezentující komunikační kanál mezi aplikací a URL třídy (potomci) HttpURLConnection a HttpsURLConnection podporují přenos HTML stránek protokolem http parametrem konstruktoru je URL vzdáleného počítače spojení se navazuje metodou connect vlastní přenos dat se realizuje pomocí proudů (Stream)

51 Ukázka: URL url = new URL("http://www.seznam.cz"); URLConnection connection = url.openconnection(); connection.connect(); InputStream is = connection.getinputstream();

52 Třída Socket implementuje klientský socket Příklady konstruktorů Socket() vytvoří nespojený socket Socket(InetAdress host, int port) vytvoří socket a spojí se (!) se vzdáleným počítačem Socket(String host, int port)

53 bind(), connect() metody známé z rozhraní BSD socket, (použití při vytváření nespojeného socketu) InputStream getinputstream() OutputStream getoutputstream() vrací vstupní a výstupní proudy, které slouží pro zasílání dat v paketech Příklad dalších metod: getlocaladdress(), isconnected()

54 Příklad klienta jednoduchý www klient try { Socket sock2 = new Socket("www.linuxsoft.cz", 80); BufferedReader br = new BufferedReader( new InputStreamReader(sock2.getInputStream())); BufferedWriter bw = new BufferedWriter( new OutputStreamWriter(sock2.getOutputStream())); bw.write(request); // zapíšeme http paket bw.flush(); String line = ""; while (line!= null) { line = br.readline(); if (line!= null) System.out.println(line); } sock2.close(); }

55 Třída ServerSocket implementuje funkce koncového místa TCP spojení na straně serveru funkce souvisí jen s navazováním spojení vlastní přenos dat pomocí TCP je realizován třídou (Socket)

56 Metody přetížené konstruktory ServerSocket povinným parametrem je port, na který je socket vázán dále je možné specifikovat délku fronty požadavků a omezit lokální adresu IP (má-li počítač více IP rozhraní) InetAddress getinetaddress() vrací lokální IP adresu, na kterou je socket vázán int getlocalport() vrací lokální port

57 Socket accept() throws IOException čeká na příchozí volání a vrací instanci třídy Socket implaccept(socket s) throw IOException umožňuje v potomcích implementovat vlastní navázání spojení, např. pomocí SSL setsotimeout(int tout), getsotimeout() nastavení a zjištění časových limitů close() uzavření socketu

58 Příklad klienta - ping String s = args[1] + "\n"; byte [] message = s.getbytes(); int msglen = args[1].length(); Socket data = null; try { data = new Socket(atgs[0],port); } catch (IOException e) { System.out.println(e);System.exit(3); }

59 try { OutputStream out = data.getoutputstream(); BufferedReader in = new BufferedReader( new InputStreamReader(data.getOutputStream())); out.write(message); out.flush(); String response = in.readline(); System.out.println("Prislo: " + response); in.close(); out.close(); } catch (IOException e) { System.out.println(e); } finaly { data.close(); }

60 Příklad serveru - ping Socket control = null; try { control = new ServerSocket(port); } catch (IOException e) { System.out.println(e);System.exit(1); } Socket data = null; System.out.println("Cekam na prichod pozadavku\n");

61 try { data = control.accept(); } catch (IOException e) { System.out.println(e); break; } try { OutputStream out = data.getoutputstream(); BufferedReader in = new BufferedReader( new InputStreamReader(data.getOutputStream())); String inputline = in.readline(); inputline = inputline + "\n"; out.write(inputline.getbytes()); out.flush(); in.close(); out.close(); } catch { } finaly { data.close(); }

62 Třída DatagramPacket třída připravuje datagramy UDP k odeslání a příjmu DatagramPacket(byte [] ibuf, int ilen) vytvoří paket určený pro příjem (prázdný paket) DatagramPacket(byte [] ibuf, int ilen, InetAddress iaddr, int port) připraví paket určený k vysílání

63 getlength(), getdata(), getport(), getaddress() podporují analýzu paketu význam funkcí je zřejmý

64 Třída DatagramSocket představuje zapouzdřený socket pro odeslání a příjem UDP datagramů Konstruktory: DatagramSocket() DatagramSocket(int port) DatagramSocket(int port, InetAddress a) socket spojený s danou lokální adresou

65 send (DatagramPacket p) receive (DatagramPacket p) odeslání a příjem UDP paketu close() uzavření paketu Poznámka: třída MulticastSocket umožňuje posílat přes sockety IGMP pakety

66 Microsoft.NET

67 Prostředí.NET generace systému vývoje aplikací pro operační systémy Windows založeném na řízeném běhovém prostředí založeno na OOP je realizováno pomocí velkého počtu speciálních tříd podporuje více programovacích jazyků C++, C#, J++, Visual Basic

68 Třídy IPEndPoint TCP/UDP komunikace práce s IP adresou a portem TcpClient, TcpListener spojovaná služba UdpClient nespojovaná služba

69 IPEndPoint nese informaci o adrese a portu atributy Address, AdressFamily, Port zajímavé metody ToString převede adresu na řetězec Create vytvoří objekt podle socketu

70 TCPClient zapouzdřuje kompletní TCP komunikaci pro stranu klienta zajímavé atributy ReceiveBufferSize, ReceiveTimeout, SendBufferSize zajímavé metody Connect(IPEndpoint endpoint) spojí se se serverem na adrese dané parametrem endpoint

71 NetworkStream GetStream() vrátí objekt typu Stream, pomocí jehož metod zasíláme/přijímáme data; zasílání dat se neprovádí přímo pomocí metod této třídy Close() uzavření spojení

72 TCPListener zapouzdřuje kompletní TCP komunikaci pro stranu serveru zajímavé atributy LocalEndpoint informace o mé adrese a portu zajímavé metody Start() začíná poslouchat na portu, ekvivalentní funkci listen()

73 Socket AcceptSocket(), TcpClient AcceptTcpClient() vrací nový socket nebo objekt typu klient, pomocí kterého se zajišťuje další komunikace NetworkStream GetStream() bool Pending() dotaz, zda není ve frontě nevyřízený požadavek na spojení

74 Ukázka v C# //vytvorime instanci posluchace pro urcity //TCP port TcpListener listener = new TcpListener(IPAddress.Loopback, 2000); TcpClient client = null; try { //zacneme naslouchani na urcenem portu listener.start(); //pockame na pripojeni nejakeho klienta client = listener.accepttcpclient();

75 //po pripojeni si vyzvedneme proud a nacteme z nej data Stream clientstream = client.getstream(); StreamReader reader = new StreamReader(clientStream); string content = reader.readtoend(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); }

76 UDPClient zapouzdřuje kompletní UDP komunikaci; využívají jej obě strany zajímavé metody Send(byte[ ] data, int velikost) zašle druhému počítači UDP paket byte[ ] Receive(ref IPEndPoint remoteep ) čeká na příchod a přijme UDP paket data vrátí v poli bytů vedlejší efekt je adresa, odkud paket přišel

77 Connect(IPEndPoind remoteep) do vlastních datových struktur uloží adresu a port cíle (spojení se ale nerealizuje, je to UDP!)

78 Přístup k www Třída WebClient implementuje kompletní www klient s možností stahování dat, souborů umožňuje download a upload ve formě souborů z/na server download a upload dat (tj. do pole) přistupovat k datům na serveru přímo jako k souboru

79 WebClient zajímavé atributy BaseAddress URI adresa serveru zajímavé metody DownloadData, DownloadFile UploadData,UploadFile OpenRead, OpenWrite otevře stream ke vzdálenému souboru

80 Ukázka v C# WebClient client = new WebClient(); Console.Write("Zadejte URI (napr. ) : "); //nacteme URI string uri = Console.ReadLine(); Console.Write("Zadejte nazev stazeneho souboru (napr. C:/new.txt) :"); //nacteme kam se ma soubor ulozit string filename = Console.ReadLine();

81 try { //stahneme soubor client.downloadfile(uri, filename); Console.WriteLine("Soubor byl stazen."); } catch(webexception ex) { Console.WriteLine("Pri stahovani souboru } doslo k vyjimce : {0}", ex.tostring());

82 Další třídy pro práci v síti Uri práce s řetězcem URI (porovnání, parsing) IPAddress Dns GetHostEntry, Resolve WebRequest, WebResponse podle URI umí posílat/přijímat protokoly HTTP, HTTPS, FILE, FTP

83 Co na závěr podporu IP sítí mají i jiné jazyky, např. Python sockety HTTP, FTP, SMTP

Úvod Virtuální kanál TCP Datagramová služba UDP URL TCP, UDP, URL. Fakulta elektrotechnická

Úvod Virtuální kanál TCP Datagramová služba UDP URL TCP, UDP, URL. Fakulta elektrotechnická TCP, UDP, Katedra počítačů Fakulta elektrotechnická 10. května 2007 Přehled 1 2 TCP a sokety obecně TCP klient TCP server 3 UDP klient UDP server 4 Sít ová spojení nad sít ovou vrstvou (typicky protokol

Více

Práce se soubory v Javě

Práce se soubory v Javě Práce se soubory v Javě Cílem kapitoly je naučit pracovat se soubory a adresáři v Javě. Na jednoduchých příkladech ukázat procházení adresáře, čtení z textového souboru a zápis do textového souboru. Klíčové

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

1. Programování proti rozhraní

1. Programování proti rozhraní 1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní

Více

Ošetřování chyb v programech

Ošetřování chyb v programech Ošetřování chyb v programech Úvod chyba v programu = normální záležitost typy chyb: 1) programátorská chyba při návrhu každých 10 000 řádek 1 chyba lze jen omezeně ošetřit (před pádem aplikace nabídnout

Více

1. Téma 12 - Textové soubory a výjimky

1. Téma 12 - Textové soubory a výjimky 1. Téma 12 - Textové soubory a výjimky Cíl látky Procvičit práci se soubory s využitím výjimek. 1.1. Úvod Program, aby byl programem, my mít nějaké výstupy a vstupy. Velmi častým případem je to, že se

Více

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly. 7. Aplikační vrstva Studijní cíl Představíme si funkci aplikační vrstvy a jednotlivé protokoly. Doba nutná k nastudování 2 hodiny Aplikační vrstva Účelem aplikační vrstvy je poskytnout aplikačním procesům

Více

Datové struktury. alg12 1

Datové struktury. alg12 1 Datové struktury Jedna z klasických knih o programování (autor prof. Wirth) má název Algorithms + Data structures = Programs Datová struktura je množina dat (prvků, složek, datových objektů), pro kterou

Více

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39 Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy

Více

InputStream. FilterInputStream

InputStream. FilterInputStream 6. Vstupy a výstupy Pro práci se vstupy a výstupy nám Java poskytuje celou řadu tříd a jejich metod. Jsou uloženy v balíku java.io. Tato knihovna je založena na mechanizmu tzv. vstupních a výstupních proudů

Více

Seminář Java II p.1/43

Seminář Java II p.1/43 Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii

Více

Výčtový typ strana 67

Výčtový typ strana 67 Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce

Více

Z. Kotala, P. Toman: Java ( Obsah )

Z. Kotala, P. Toman: Java ( Obsah ) Z. Kotala, P. Toman: Java ( Obsah ) 13. Výjimky Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka je vyvolána například

Více

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky UPS. FTP Klient. A05463 fboranek@atlas.

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky UPS. FTP Klient. A05463 fboranek@atlas. Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky UPS FTP Klient Plzeň, 2007 František Bořánek A05463 fboranek@atlas.cz Obsah 1 Úvod......2 2 Zadaní......2

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Využití OOP v praxi -- Knihovna PHP -- Interval.cz Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování

Více

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP Počítačové sítě Lekce 4: Síťová architektura TCP/IP Co je TCP/IP? V úzkém slova smyslu je to sada protokolů používaných v počítačích sítích s počítači na bázi Unixu: TCP = Transmission Control Protocol

Více

Abstraktní datové typy: zásobník

Abstraktní datové typy: zásobník Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní

Více

PHP a Large Objecty v PostgreSQL

PHP a Large Objecty v PostgreSQL PHP a Large Objecty v PostgreSQL Pavel Janík ml. http://www.janik.cz PHP a Large Objecty v PostgreSQL 1 Jazyk PHP je velmi mocným jazykem pro vývoj webových aplikací. Má podporu snad všech velkých i menších

Více

Maturitní témata Školní rok: 2015/2016

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

Více

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat. Počítačové sítě Počítačová síť je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat. Základní prvky sítě Počítače se síťovým adaptérem pracovní

Více

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Bridge. Známý jako. Účel. Použitelnost. Handle/Body Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době

Více

Typy samostatných úloh PSI 2005/2006

Typy samostatných úloh PSI 2005/2006 Typy samostatných úloh PSI 2005/2006 Každá úloha má dvě části. Část analytickou, která slouží k zachycování komunikace na síti a k zobrazování zachycených dat pomocí grafického rozhraní. K zachycování

Více

17. Projekt Trojúhelníky

17. Projekt Trojúhelníky Projekt Trojúhelníky strana 165 17. Projekt Trojúhelníky 17.1. Základní popis, zadání úkolu Pracujeme na projektu Trojúhelníky, který je ke stažení na java.vse.cz. Aplikace je napsána s textovým uživatelským

Více

Komunikační protokoly počítačů a počítačových sítí

Komunikační protokoly počítačů a počítačových sítí Komunikační protokoly počítačů a počítačových sítí Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1138_Komunikační protokoly počítačů a počítačových sítí_pwp Název školy: Číslo a název projektu:

Více

Úvod Informace o prostředí Práce se soubory Regulární výrazy Konec. Programování v C# Soubory a regulární výrazy. Petr Vaněček 1 / 27

Úvod Informace o prostředí Práce se soubory Regulární výrazy Konec. Programování v C# Soubory a regulární výrazy. Petr Vaněček 1 / 27 Programování v C# Soubory a regulární výrazy Petr Vaněček 1 / 27 Obsah přednášky Informace o prostředí Práce se soubory Regulární výrazy 2 / 27 Zprostředkování informací Třída System.Environment Poskytuje

Více

Internet Information Services (IIS) 6.0

Internet Information Services (IIS) 6.0 Internet Information Services (IIS) 6.0 V operačním systému Windows Server 2003 je obsažena i služba IIS v 6.0. Služba IIS poskytuje jak www server tak i některé další služby (FTP, NNTP,...). Jedná se

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Komunikace s automaty MICROPEL. správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace

Komunikace s automaty MICROPEL. správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace Komunikace s automaty MICROPEL správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace MICROPEL 02/2014 Základní správu automatu tvoří činnosti: Nastavení základních

Více

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE POČÍTAČOVÉ SÍTĚ A KOMUNIKACE OBOR: EKONOMIKA A PODNIKÁNÍ ZAMĚŘENÍ: VÝPOČETNÍ TECHNIKA FORMA: DENNÍ STUDIUM 1. Počítačové sítě, základní rozdělení počítačových sítí a. vznik a vývoj počítačových sítí b.

Více

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

POČÍTAČOVÉ SÍTĚ Metodický list č. 1

POČÍTAČOVÉ SÍTĚ Metodický list č. 1 Metodický list č. 1 Cílem tohoto předmětu je posluchačům zevrubně představit dnešní počítačové sítě, jejich technické a programové řešení. Po absolvování kurzu by posluchač měl zvládnout návrh a správu

Více

Zásobník protokolů TCP/IP

Zásobník protokolů TCP/IP Zásobník protokolů TCP/IP Základy počítačových sítí Lekce 3 Ing. Jiří ledvina, CSc Úvod Vysvětlení základních pojmů a principů v protokolovém zásobníku TCP/IP Porovnání s modelem ISO/OSI Adresování v Internetu

Více

6. Transportní vrstva

6. Transportní vrstva 6. Transportní vrstva Studijní cíl Představíme si funkci transportní vrstvy. Podrobněji popíšeme protokoly TCP a UDP. Doba nutná k nastudování 3 hodiny Transportní vrstva Transportní vrstva odpovídá v

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí, 9. Sítě MS Windows MS Windows existoval ve 2 vývojových větvích 9x a NT, tyto později byly sloučeny. V současnosti existují aktuální verze Windows XP a Windows 2003 Server. (Očekává se vydání Windows Vista)

Více

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE 2011 Technická univerzita v Liberci Ing. Přemysl Svoboda ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE V Liberci dne 16. 12. 2011 Obsah Obsah... 1 Úvod... 2 Funkce zařízení... 3 Režim sběru dat s jejich

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

3. Třídy. Základní pojmy objektového programování. Třídy

3. Třídy. Základní pojmy objektového programování. Třídy 3. Třídy Základní pojmy objektového programování Jak už víme, je Java objektovým programovacím jazykem. V úvodu této kapitoly si objasníme základní pojmy objektové teorie. Objekt představuje souhrn dat

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE OBOR: INFORMAČNÍ TECHNOLOGIE

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE OBOR: INFORMAČNÍ TECHNOLOGIE POČÍTAČOVÉ SÍTĚ A KOMUNIKACE OBOR: INFORMAČNÍ TECHNOLOGIE 1. Počítačové sítě, základní rozdělení počítačových sítí a. vznik a vývoj počítačových sítí b. výhody počítačových sítí c. rozdělení sítí z hlediska

Více

Úvod do informačních služeb Internetu

Úvod do informačních služeb Internetu Úvod do informačních služeb Internetu Rozdělení počítačových sítí Počítačové sítě se obecně rozdělují do základních typů podle toho, na jak velkém území spojují počítače a jaké spojovací prostředky k tomu

Více

Semestrální projekt do předmětu SPS

Semestrální projekt do předmětu SPS Semestrální projekt do předmětu SPS Název projektu: Instalace a provoz protokolu IPv6 v nových verzích MS Windows (XP). Ověření proti routerům Cisco a Linux. Cíl projektu: Autoři: Cílem tohoto projektu

Více

Základní datové struktury

Základní datové struktury Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013

Více

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v DSL manuál Ing. Jan Hranáč 27. října 2010 V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v současné době krátký) seznam vestavěných funkcí systému. 1 Vytvoření nového dobrodružství Nejprve

Více

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda 1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání

Více

Inovace výuky prostřednictvím šablon pro SŠ

Inovace výuky prostřednictvím šablon pro SŠ Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Inovace výuky prostřednictvím šablon pro SŠ CZ.1.07/1.5.00/34.0748

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence

Více

Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný

Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný typem proměnné - ukazatel je tedy adresa společně s

Více

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Od CGI k FastCGI Ondřej Caletka 5. října 2013 Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Ondřej Caletka (CESNET, z.s.p.o.) Od CGI k FastCGI 5. října 2013 1 / 18 Obsah 1 Common

Více

Průmyslová komunikace přes mobilní telefonní sítě. Michal Kahánek 22. 9. 2010

Průmyslová komunikace přes mobilní telefonní sítě. Michal Kahánek 22. 9. 2010 Průmyslová komunikace přes mobilní telefonní sítě Michal Kahánek 22. 9. 2010 Program Produkty Moxa pro mobilní komunikaci Operační módy mobilních modemů OnCell Operační módy mobilních IP modemů OnCell

Více

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

10 Balíčky, grafické znázornění tříd, základy zapozdření

10 Balíčky, grafické znázornění tříd, základy zapozdření 10 Balíčky, grafické znázornění tříd, základy zapozdření Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům balíčkům, grafickému

Více

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,

Více

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans. 1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými

Více

7. Dynamické datové struktury

7. Dynamické datové struktury 7. Dynamické datové struktury Java poskytuje několik možností pro uložení většího množství dat (tj. objektů či primitivních datových typů) v paměti. S nejjednodušší z nich, s polem, jsme se již seznámili.

Více

Znaky. IAJCE Přednáška č. 10. každému znaku je nutné přiřadit nějaké číslo (nezáporné přímé mapování znak <->

Znaky. IAJCE Přednáška č. 10. každému znaku je nutné přiřadit nějaké číslo (nezáporné přímé mapování znak <-> Znaky každému znaku je nutné přiřadit nějaké číslo (nezáporné přímé mapování znak číslo) kódování jiný příklad kódování existuje mnoho kódů pojmy: morseova abeceda problémy o znaková sada které znaky

Více

WebCIient Client = new WebClient(); Client.DownloadFile("http://www.reuters.com/", "ReutersHomepage.htm");

WebCIient Client = new WebClient(); Client.DownloadFile(http://www.reuters.com/, ReutersHomepage.htm); 41 Přístup k Internetu V kapitolách 37 až 39 jste se dozvěděli, jak můžete v jazyce C# vytvářet velmi výkonné, účinné a dynamické webové stránky pomocí technologie ASP.NET. Klienty stránek ASP.NET představují

Více

PSK2-14. Služby internetu. World Wide Web -- www

PSK2-14. Služby internetu. World Wide Web -- www PSK2-14 Název školy: Autor: Anotace: Vzdělávací oblast: Předmět: Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka Nejpoužívanější služby Internetu Informační a komunikační

Více

Novinky u zařízení pro sériovou komunikaci. Michal Kahánek 25. 5. 2011

Novinky u zařízení pro sériovou komunikaci. Michal Kahánek 25. 5. 2011 Novinky u zařízení pro sériovou komunikaci Michal Kahánek 25. 5. 2011 Program Komunikační brány pro sběrnici Modbus Funkce ProCOM Vestavné sériové servery Uživatelské webové rozhraní EZPage Síťové servery

Více

Vlákno odlehčený proces kód vlákna, zásobník privátní ostatní sdíleno s dalšími vlákny téhož procesu

Vlákno odlehčený proces kód vlákna, zásobník privátní ostatní sdíleno s dalšími vlákny téhož procesu Procesy, vlákna Vlákno odlehčený proces kód vlákna, zásobník privátní ostatní sdíleno s dalšími vlákny téhož procesu Implementace vláken one-to-one o implementace na úrovni jádra o každé vlákno je pro

Více

Webový server lapache

Webový server lapache Webový server lapache Abstrakt lapache (lukas light apache) je jednoduchý UNIXový webový server podporující: podmnožinu HTTP 1.0/1 protokolu virtuální servery (s vlastními chybovými stránkami a kořenem

Více

Syntaxe vyjímek. #include #include using namespace std; // Trida vyjimek class Vyjimka { private:

Syntaxe vyjímek. #include <iostream> #include <string> using namespace std; // Trida vyjimek class Vyjimka { private: Vyjímky. Pod pojmem výjimka se rozumí nějaká výjimečná situace, která nastane v dané funkci. V jazyce C i C++ se často používá návratových hodnot funkcí, které vracejí úspěšnost provádění nějaké operace

Více

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory Výhody objektového řešení Nástroje pro IO operace jsou v C++ součástí knihoven Hierarchie objektových

Více

Osnova přednášky. Informační a řídicí systémy I. Úvod do počítačových sítí. Doporučená literatura. Motivace

Osnova přednášky. Informační a řídicí systémy I. Úvod do počítačových sítí. Doporučená literatura. Motivace Osnova přednášky Informační a řídicí systémy I. Úvod do počítačových sítí Pavel Balda ZČU v Plzni, FAV, KKY Motivace a historie Vrstvení protokolů referenční model ISO-OSI Rodina protokolů TCP/IP Formáty

Více

Internet WEB stránky HTML, Hypertext MarkUp Language - nadtextový jazyk - Místo příkazů obsahuje tagy - značky

Internet WEB stránky HTML, Hypertext MarkUp Language - nadtextový jazyk - Místo příkazů obsahuje tagy - značky Internet WEB stránky HTML, Hypertext MarkUp Language - nadtextový jazyk - Místo příkazů obsahuje tagy - značky Fungování internetu je celosvětový systém navzájem propojených počítačových sítí ve kterých

Více

ANOTACE nově vytvořených/inovovaných materiálů

ANOTACE nově vytvořených/inovovaných materiálů ANOTACE nově vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast CZ.1.07/1.5.00/34.1017 III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT Počítačové

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Uživatelský manuál WEB SERVICE V3.0 IP kamer Dahua

Uživatelský manuál WEB SERVICE V3.0 IP kamer Dahua WEB SERVICE V3.0 IP kamer Dahua Obsah 1. Úvod...1 2. Přihlášení...1 3 Nastavení (Setup)...3 3.1.1. Kamera Obraz (Conditions)...3 3.1.2.1 Kamera Video Video...3 3.1.2.2. Kamera Video snímek (Snapshot)...4

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

7. Datové typy v Javě

7. Datové typy v Javě 7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů

Více

Souborové systémy Mgr. Josef Horálek

Souborové systémy Mgr. Josef Horálek Souborové systémy Mgr. Josef Horálek Souborové systémy = Prostředky pro práci se souborovými systémy patří mezi nejsilnější stránky linuxového jádra. = Využívají unixový přístup k souborové hierarchii

Více

4.4.2012. Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady

4.4.2012. Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady Základy programování (IZAPR, IZKPR) Přednáška 5 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky Příkazy cyklu -

Více

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Vzdělávací oblast Informatika a informační a komunikační technologie pro vzdělávací obor Programování

Více

Počítačová síť a internet. V. Votruba

Počítačová síť a internet. V. Votruba Počítačová síť a internet V. Votruba Obsah Co je to počítačová síť Služby sítě Protokoly a služby TCP/IP model Nastavení sítě ve Windows XP Diagnostika Bezdrátové sítě Co je to počítačová síť? Síť je spojením

Více

Vstup a výstup datové proudy v C

Vstup a výstup datové proudy v C Vstup a výstup datové proudy v C Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 24. října 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Vstup a výstup 24. října 2011 1 / 37 Přehled, rozdělení

Více

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část Zatímco první čtyři vrstvy jsou poměrně exaktně definovány, zbylé tři vrstvy nemusí být striktně použity tak, jak jsou definovány podle tohoto modelu. (Příkladem, kdy nejsou v modelu použity všechny vrstvy,

Více

Audit bezpečnosti počítačové sítě

Audit bezpečnosti počítačové sítě Jiří Kalenský kalenj1@fel.cvut.cz Audit bezpečnosti počítačové sítě Semestrální práce Y36SPS Zadání Prověřit bezpečnost v dané počítačové síti (cca 180 klientských stanic) Nejsou povoleny destruktivní

Více

UPS MONITOR Zařízení pro monitorování záložních zdrojů s protokolem Smart UPS APC

UPS MONITOR Zařízení pro monitorování záložních zdrojů s protokolem Smart UPS APC UPS MONITOR Zařízení pro monitorování záložních zdrojů s protokolem Smart UPS APC 1. Popis zařízení UPS monitor je zařízení pro sledování stavu UPS - záložních zdrojů s protokolem SMART a jejich ovládání.

Více

Ing. Jitka Dařbujanová. E-mail, SSL, News, elektronické konference

Ing. Jitka Dařbujanová. E-mail, SSL, News, elektronické konference Ing. Jitka Dařbujanová E-mail, SSL, News, elektronické konference Elementární služba s dlouhou historií Původně určena pro přenášení pouze textových ASCII zpráv poté rozšíření MIME Pro příjem pošty potřebujete

Více

Internet a jeho služby. Ing. Kateřina Ježková

Internet a jeho služby. Ing. Kateřina Ježková Internet a jeho služby Ing. Kateřina Ježková Osnova předmětu (1) 1. Princip, funkce a vznik historie Internetu. 2. Důležité protokoly - komunikační, transportní, aplikační. 3. Adresy na Internetu -číselná

Více

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Autor: Radek Vystavěl Díl 12: Algebra Lineární transformace MATEMATIKA Lineární transformace, neboli přeet hodnoty x podle

Více

Objektově orientované programování v jazyce Python

Objektově orientované programování v jazyce Python Objektově orientované programování v jazyce Python Co to je objektově orientované programování Python není přímo objektově orientovaný jazyk, ale podporuje nejdůležitější části objektově orientovaného

Více

MQL4 COURSE. V tomto dodatku je obsažen popis 25 obchodních funkcí jazyka MQL4. Rozhodl jsem se napsat

MQL4 COURSE. V tomto dodatku je obsažen popis 25 obchodních funkcí jazyka MQL4. Rozhodl jsem se napsat MQL4 COURSE By Coders guru www.forex-tsd.com (Appendix 2) Trading Functions -------------------- V tomto dodatku je obsažen popis 25 obchodních funkcí jazyka MQL4. Rozhodl jsem se napsat tento dodatek

Více

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni! Java práce s řetězci Trochu povídání.. Řetězce jsou v Javě reprezentovány instancemi tříd StringBuffer a String. Tyto třídy jsou součástí balíčku java.lang, tudíž je možno s nimi pracovat ihned bez nutného

Více

7.5 Diagram tříd pokročilé techniky

7.5 Diagram tříd pokročilé techniky 7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem

Více

Počítačové sítě. Počítačová síť. VYT Počítačové sítě

Počítačové sítě. Počítačová síť. VYT Počítačové sítě Počítačové sítě Počítačová síť Je soubor technických prostředků, které umožňují spojení mezi počítači a výměnu informací prostřednictvím tohoto spojení. Postupný rozvoj během druhé poloviny 20. století.

Více

Rozhraní SAX, SAX vs. SAX2. Jaroslav Ciml

Rozhraní SAX, SAX vs. SAX2. Jaroslav Ciml Rozhraní SAX, SAX vs. SAX2 Jaroslav Ciml Použití SAX - připomenutí Vytvoření instance parseru XMLReader xmlreader = XMLReaderFactory.createXMLReader(); Registrace handleru xmlreader.setcontenthandler(

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

PROGRAMOVÁNÍ PRO MS WINDOWS 1

PROGRAMOVÁNÍ PRO MS WINDOWS 1 Cílem předmětu je seznámit posluchače s moderními prostředky pro tvorbu aplikací pro Windows jmenovitě s programovou platformou.net a programovacím jazykem C#. V průběhu budou vysvětlena následující témata:

Více

Virtuální metody - polymorfizmus

Virtuální metody - polymorfizmus - polymorfizmus - potomka lze použít v místě, kde je možné použít předka - v dosud probraných situacích byly vždy volány funkce, které jsou známy již v době překladu. V situaci, kdy v době překladu není

Více

Zásobník protokolů TCP/IP

Zásobník protokolů TCP/IP Zásobník protokolů TCP/IP Úvod do počítačových sítí Lekce 2 Ing. Jiří ledvina, CSc. Úvod Vysvětlení základních pojmů a principů v protokolovém zásobníku TCP/IP Adresování v Internetu Jmenné služby Protokoly

Více

SSL Secure Sockets Layer

SSL Secure Sockets Layer SSL Secure Sockets Layer internetové aplikační protokoly jsou nezabezpečené SSL vkládá do architektury šifrující vrstvu aplikační (HTTP, IMAP,...) SSL transportní (TCP, UDP) síťová (IP) SSL poskytuje zabezpečenou

Více

Dokumentace k nevizuálnímu rozhraní aplikace DopisOnline

Dokumentace k nevizuálnímu rozhraní aplikace DopisOnline Dokumentace k nevizuálnímu rozhraní aplikace DopisOnline Rozhraní slouží k automatizovanému podání listovních zásilek elektronickou cestou z aplikací třetích stran. Veškerá komunikace s naším serverem

Více

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP. Protokol TELNET Schéma funkčních modulů komunikace protokolem TELNET Telnet klient Telnet server login shell terminal driver Jádro TCP/IP TCP/IP Jádro Pseudo terminal driver Uživatel u terminálu TCP spojení

Více

Adresování v internetu

Adresování v internetu IP adresa Domény Program ping Adresování v internetu Následující text popisuje adresování v internetu, kterému jsou věnovány obě části. První část věnovanou internetovému protokolu lze však aplikovat na

Více

Použití databází na Webu

Použití databází na Webu 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové

Více