Vlákna a internetové protokoly



Podobné dokumenty
Objektově orientované programování v jazyce Python

Objektově orientované programování v jazyce Python

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Název školy: Základní škola a Mateřská škola Žalany. Číslo projektu: CZ. 1.07/1.4.00/ Téma sady: Informatika pro devátý ročník

Nastavení propojení s eshopem

Úvod do programovacího jazyka Python

Jak nastavit poštu v síti SPKFree

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

Internet. Počítačová síť, adresy, domény a připojení. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

Úvod do programovacího jazyka Python

Inovace a zkvalitnění výuky prostřednictvím ICT Počítačové sítě

Cisco IOS TCL skriptování využití SMTP knihovny

Nastavení propojení s eshopem

Úvod do informatiky 5)

Algoritmus. Algoritmus je posloupnost kroků, které jsou potřeba k vyřešení problému.

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.

Ukázka testu Informatiky pro přijímací zkoušky do navazujícího magisterského studia

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

Internet protokol, IP adresy, návaznost IP na nižší vrstvy

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

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

Práce s knihovnami. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)

Návod ke cvičení předmětu BPGA ControlLogix

Elektronická pošta. elementární služba, výchozí pro některé další jedna z prvních síťových služeb vůbec. základní principy popisují

TMservice. Služba operačního systému Windows pro měření teploty čidlem TM

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

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP

Identifikátor materiálu: ICT-3-14

Analýza aplikačních protokolů

Motorola Phone Tools. Začínáme

Integrovaná střední škola, Sokolnice 496

Nastavení Sony Ericsson XPERIA X1

CZ.1.07/1.5.00/

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

Počítačové sítě II 17. WWW, HTTP. Miroslav Spousta, 2005

Connection Manager - Uživatelská příručka

Ing. Jitka Dařbujanová. TCP/IP, telnet, SSH, FTP

ZÁKLADNÍ ANALÝZA SÍTÍ TCP/IP

ABC Linux běží z CD české prostředí tištěná příručka obsah portálu Mutt Jak začít? Jan Fuchs

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

Automatické testování softwaru. Testujte svůj kód! Předpoklady: Příklad: sum_digits() Možnost 1: Zkusíme funkci použít v konzoli Pythonu.

Přednáška 3. Opakovače,směrovače, mosty a síťové brány

Databáze prodejců. Tlačítka. Vytvoří kartu nového prodejce (Alt+N); Změní vybraného prodejce Uloží nového prodejce nebo změnu (Alt+U);

Návod ke cvičení předmětu BPGA SLC 500

Střední odborná škola a Střední odborné učiliště, Hořovice

Inovace a zkvalitnění výuky prostřednictvím ICT Počítačové sítě Vrstvový model TCP/IP Ing. Zelinka Pavel

Uživatelský modul Stunnel

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

Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták

Site - Zapich. Varianta 1

Nastavení MDA Compact V

Nastavení telefonu T-Mobile MDA Vario

1. Podmínky chodu aplikace

Identifikátor materiálu: ICT-3-03

Instalujeme a zakládáme databázi Oracle Database 11g

Nastavení telefonu HTC Desire 200

Počítačové sítě Systém pro přenos souborů protokol FTP

Přenos mezi zkušební organizací a notebooky zkušebních orgánů příslušné

Datum vytvoření. Vytvořeno 18. října Očekávaný výstup. Žák chápe pojmy URL, IP, umí vyjmenovat běžné protokoly a ví, k čemu slouží

Nastavení telefonu T-Mobile MDA Compact III

Jak to funguje?

CZ.1.07/1.5.00/

Inovace bakalářského studijního oboru Aplikovaná chemie

8 Třídy, objekty, metody, předávání argumentů metod

Nastavení telefonu Sony Ericsson C510

Nastavení telefonu Sony Ericsson T300

File Transfer Protocol (FTP)

Displej DT20-6. Update firmware řadiče. Simulační systémy Řídicí systémy Zpracování a přenos dat TM 2012_10_

MySQLi (objektově) Příklad vytvoření instance třídy včetně parametrů pro připojení: $mysqli = new mysqli('localhost', 'login', 'heslo', 'databaze');

Alcatel-Lucent. NMS OmniVista Účtování a zprávy. Ing.Martin Lenko listopad 2012

Internet. Jak funguje internet. Internetový prohlížeč

Služby Internetu. Ing. Luděk Richter

Příručka nastavení funkcí snímání

3.8 Elektronická pošta

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Celosvětová síť Internet. IKT pro PD1

Dokumentace. k modulu. podnikový informační systém (ERP) Datové schránky

spolupráce více systémů. . Pro zajištění služby je používáno více aplikačních protokolů, např.: DNS SMTP.

Nastavení telefonu Alcatel One Touch IDOL

SMTPServer - Příručka

Dokumentace. k modulu. podnikový informační systém (ERP) bránou

Nastavení telefonu Samsung Galaxy Nexus

Scrapping stránek prakticky: Dívka dne na TN.cz

Dobrý den, Obsah. 2 Co je nového?

Nastavení telefonu HTC Desire HD

Pavel Procházka. 3. prosince 2014

Gymnázium Jana Pivečky a Střední odborná škola Slavičín. III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT

Fre Prahy 10. Do svého u se můžete přihlásit odkudkoliv na webové adrese

WWW technologie. HTTP protokol

Postup přechodu na podporované prostředí. Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy

ucetni-program-pohoda.cz Uživatelský návod a nastavení Instalace str. 2 Uživatelské práva str. 3

Návod na připojení k ové schránce Mozilla Thunderbird 3

Střední odborná škola a Střední odborné učiliště, Hořovice

PSK3-9. Základy skriptování. Hlavička

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

Server Internetu prostøednictvím slu eb (web, , pøenos souborù) poskytuje data. Na na í pracovní stanici Internet

Server Internetu prostøednictvím slu eb (web, , pøenos souborù) poskytuje data. Na na í pracovní stanici Internet

Transkript:

Vlákna a internetové protokoly Co to jsou vlákna Vlákna jsou samostatné procesy, které sdílejí stejný adresový prostor. Vlákna jsou na sobě nezávislá. Pokud se stane, že jedno vlákno změní proměnou, ihned se nastane změna proměnné u ostatních vláken. Někdy je tato vlastnost vláken nežádoucí a proto se vlákna synchronizují. U synchronizace vláken se využívá zámků vláken. Tento zámek může nabývat dvou stavů a to je stav odemčeno a zamčeno. Princip toho zámku je jednoduchý. Pokud potřebujeme, aby nedošlo ke změně proměnné u ostatních vláken, dané vlákno zamkneme a poté co se skončí dané vlákno, můžeme ho odemknout a teprve poté bude provedena změna u ostatních proměnných v dalších vláknech. Jak pracovat s vlákny Pro práci s vlákny máme v Pythonu dva moduly. Jeden modul thread a další je modul threading. Modul thread je určen pro vytváření nových vláken a použití jednoduchých zámků. Tento modul poskytuje jenom nízkoúrovňovou práci s vlákny a nad tímto modulem je modul threading. Nejznámější a nepoužívanější funkcí je funkce start new thread(). Této funkci musíme předat do argumentu funkci, která se má vykovávat ve vlákně a následně za touto funkcí jako další argument může následovat seznam pozičních argumentů a následně asociativní pole argumentů. Systém poznávání vláken v programu je takový, že každé vlákno má přiřezeno svoje číslo, které není stejné s jiným vláknem. Každé vlákno má tedy svoje číslo, podle kterého lze poznat o jaké se jedná vlákno. Pokud ovšem jedno vlákno skončí, může číslo po vlákně, které skončilo dostat stejné číslo nové vlákno. Toto číslo vlákna lze zjistit funkcí thread.get ident(). Vlákno lze ukončit funkcí thread.exit(). Modul threading nabízí mnohem více funkcí než modul thread. Nabízí pohodlnou práci s vlákny. Ukážeme si na příkladě použití vláken s modulem threading. >>> import threading >>> import time >>> zamek = threading.lock() >>> def vlaknoprvni():... zamek.acquire()... for i in range(5):... print vlakno prvni... time.sleep(0.3)... zamek.release()... - 1 -

>>> def vlaknodva():... zamek.acquire()... for i in range(10):... print vlakno1... time.sleep(0.1)... zamek.release()... >>> v1 = threading.thread(target = vlaknoprvni) >>> v2 = threading.thread(target = vlaknodva) >>> v1.start(); v2.start Síťové programování Síťovým programováním se rozumí programování pomocí využití jednotlivých internetových protokolů. Ukážeme i práci s protokolem SMTP, FTP a HTTP. Protokol SMTP slouží k posílání elektronické pošty přes internet. Protokol HTTP slouží pro internetové stránky. Prokol FTP slouží k přenosu souboru po internetu. Práce s protokolem SMTP V Pythonu se na práci s protokolem SMTP využívá modul smtplib, který poskytuje dostatek funkcí pro pohodlnou práci s tímto protokolem. Funkce jsou velice jednoduché a myslim, že z příkladu jsou zcela pochopitelné. Využívá se metody sendmail().tato metoda má důležité argumenty: adresa odesílatele e-mailu adresa adresáta e-mailu vlastní tělo e-mailu včetně hlaviček Další důležitou funkcí je uzavření kominice s SMTP serverem. Na to slouží metoda quit(). Nyní je ukázka programu, který odesílá maily. - 2 -

import smtplib import sys od = raw_input( Od: ) pro = raw_input( Pro: ) predmet = raw_input( Predmet: ) msg = ("From: %s\r\nto: %s\r\nsubject: %s\r\n\r\n" % (od, pro, predmet)) print "Zadejte text zprávy, ukoncete stiskem ^D na samotném rádku:" msg += sys.stdin.read() server = smtplib.smtp( localhost ) server.sendmail(od, pro, msg) server.quit() Protokol FTP Pro použití protokolu v Pythonu je určen modul ftplib. Tento modul už je trochu náročnější na práci oproti předcházejícímu. sendcmd(příkaz) zašle serveru příkaz a vrátí odpověď retrlines(příkaz, funkce) zašle serveru příkaz a začne stahovat odpověď na příkaz v textovém módu dir(adresář, funkce) zašle FTP serveru příkaz a výsledek přečte v textovém módu quit() ukončí se spojení se serverem Protokol HTTP Pro celkovou komunikaci na protokolu HTTP slouží modul httplib. Ten je rozdělen na dvě třídy. HTTPConnection odpovídá na spojení s http serverem HTTPResponse reprezentuje odpověď z http serveru Když máme vytvořenou instanci serveru, můžeme již posílat požadavek na server pomocí metody request(). Jelikož tento modul nabízí značné funkce, doporučuji prostudovat dokumentaci k tomuto modulu. Pro představu je zde příklad, který obsahuje proměnná data na, kterou máme v atributu v metodě HTTPConnection. - 3 -

>>> from httplib import HTTPConnection >>> conn = HTTPConnection( www.seznam.cz ) >>> conn.request( GET, / ) >>> r = conn.getresponse() >>> print r.status, r.reason 200 OK >>> data = r.read() >>> conn.close() - 4 -

Bibliografie ŠVEC, Jan. Létající cirkus,python tutoriál [online]. 13.února.2003 [cit. 2009-12-15]. Dostupný z WWW: < http://i.iinfo.cz/r/old/data/letajici_cirkus.pdf>. - 5 -

Ověření z kapitoly 6 Vlákna a internetové protokoly 1. Jaké moduly používáme pro práci s vlákny? a) thread b) threading c) ftplib 2. K čemu slouží protokol SMTP? a) Přenos souborů b) Univerzální protokol c) Elektronická pošta 3. Jak musíme pojmenovat funkci, která se má spouštět pomocí vlákna? a) spust() b) run() c) vlakno() - 6 -