socket_create()
Transkript
PHP a síťová komunikace Socket API Sockety představují nízkoúrovňové API pro práci se síťovými protokoly TCP a UDP. Založeno dobře známém na BSD socket API. V PHP lze napsat klienta i server. socket_create() – vytvoří socket socket_close() – zavře socket socket_connect() – připojí socket k serveru socket_bind() – sváže socket s daným portem socket_listen() – povolí příjem spojení na socketu socket_accept() – přijme jedno spojení socket_read(), socket_write() Se serverem mohou být potíže (např. omezená doba běhu skriptu). Jako datový buffer pro posílání/čtení dat slouží stringy. verze 1.1 © 2008-2009, Martin Kruliš 2 Socket API – příklad komunikace klient socket_create() server socket_create() socket_bind() socket_listen() socket_accept() socket_connect() socket_read() socket_write() socket_read() socket_write() socket_close() Příklad 1 verze 1.1 © 2008-2009, Martin Kruliš 3 Přístup ke vzdáleným souborům PHP umí přistupovat přímo ke vzdáleným souborům. Místo lokální cesty se soubor vyhledá pomocí URL. Funkce fopen(), require(), include() … Podporuje protokoly HTTP a FTP HTTP protokol získává soubory pouze metodou GET. Nelze nastavit pokročilejší vlastnosti protokolu. V php.ini musí být povolena možnost allow_url_fopen. Příklad: require("ftp://user:[email protected]/fnc.php"); $fp = fopen("http://www.example.com/", "r"); ... verze 1.1 © 2008-2009, Martin Kruliš 4 Knihovna CURL Externí knihovna (php_curl.dll) Určena především pro HTTP komunikaci. A také ftp, gopher, telnet, dict, file a ldap Obsahuje podporu pro šifrování OpenSSL (protokol HTTPS). Zvládá i složitější věci (cookies, proxy, autentikaci, …). Základ API: verze 1.1 curl_init() – vytvoří resource požadavku curl_setopt() – nastaví parametr curl_exec() – provede požadavek curl_close() – zavře a uvolní resource © 2008-2009, Martin Kruliš Příklad 2 5 FTP Knihovny pro práci s FTP jsou vestavěné. Téměř každý příkaz FTP protokolu má ekvivalentní funkci. Práce s FTP je stavová. Základní funkce API: Udržuje se resource reprezentující spojení se serverem. ftp_connect() – připojí se k danému serveru ftp_login() – přihlásí se uživatelským jménem a heslem ftp_put(), ftp_get(), ftp_chdir(), ftp_nlist(), … ftp_exec() – spustí daný příkaz (příkaz je předán ve stringu) ftp_quit(), ftp_close() – ukončí spojení Podporuje i šifrované SFTP. verze 1.1 ftp_ssl_connect() © 2008-2009, Martin Kruliš Příklad 3 6 Pošta Čtení pošty – protokol IMAP (POP3, NNTP) Implementován v externí knihovně c-client (Linux) resp. rozšíření php_imap.dll (Windows). Knihovna obsahuje funkce pro vzdálenou správu poštovní schránky. Podporuje protokoly IMAP, POP3 a přístup do lokální složky. Při práci je třeba dávat pozor na kódování řetězců. S protokolem POP3 nefungují všechny funkce. MIME standard Base64 a QuotedPrintables. Posílání mailů – protokol SMPT Maily se posílají pouze funkcí mail(). Složitější parametry mailu se předají v hlavičkách (dle RFC 822). Parametry SMTP lze konfigurovat v php.ini. Příklad 4 verze 1.1 © 2008-2009, Martin Kruliš 7 Další protokoly a síťové funkce DNS SOAP (Simple Object Access Protocol) gethostbyname() – DNS resolving (převod domény na IP) gethostbyaddr() – reverzní DNS vyhledávání (IP -> doména) Základní protokol pro komunikaci s webovými službami. Zprávy jsou ve formátu XML posílány přes HTTP. Implementace v PHP má vestavěnou podporu pro WDSL. Knihovna OpenSSL verze 1.1 Knihovna pro asymetrickou kryptografii. Používá se v kombinaci s řadou protokolů (např. SSH). © 2008-2009, Martin Kruliš 8
Podobné dokumenty
Dokumentace k API Balíkobot v1.75 2016-09-14
Dokumentace k API Balíkobot v1.75 2016-09-14
Pro jednoduché nasazení API je veškerá komunikace realizována přes URL adresy orientované na
zdroje a HTTP autentizaci. Veškerá volání API jsou zabezpeč...
Uživatelská technická dokumentace Verze 1.0
Pro následovné procedury: Payment/get, Payment/confirm, Payment/cancel můžeme také uvést formát na
odesílání dat dle tohoto vzorce:
URL = URLpayu.cz/ Kodovani / NazevProcedury /Format
kde Format mů...
Procesor
Procesor se při práci hodně zahřívá a proto musí být chlazen.
Na procesor se umisťuje chladič procesoru.
Chladič se skládá z pasivní části (žebrování) a aktivní (větráček).
Uživatelská technická dokumentace Verze 3.1
Zákazník provádí úhradu platební kartou prostřednictvím stránky společnosti Skrill (bývalé Moneybookers).
6 - TVOYO TV
Na základě Vašeho požadavku na obchodní oddělení a kontroly implementace dle kapitoly 5 Vám budou na Vašem POSu aktivovány jednotlivé platební metody. Můžete začít přijímat platby přes platební
brá...
Implementace aplikační vrstvy pro jednočipové mikrokontroléry
algoritmy jsou vytvořeny a implementovány přímo v paměti mikrokontroléru PIC
16C74A. Ten tvoří společně s převodníkem TTL/RS485 nejspodnější vrstvu síťového
modelu TCP/IP, tedy jednak fyzickou, tak...
Implementační manuál PayU pro e
daného POS (obchodním místě v systému PayU). Např. Pokud je v POS nastaveno kódování UTF-8, ale v některém
z parametrů zasíláte nějkaký znak nebo znaky, které ve znakové sadě UTF-8 neexistují, bude...
Správa identity
přístupu na úrovni aplikací. Příslušný software pro synchronizaci hesel typicky běží
na některém serveru organizace a přes API je navázán na podporované databáze, na
systémy zajišťující bezpečnost ...