Úvod do programovania zásuviek v PHP
Všetky programovacie jazyky poskytujú mechanizmus na implementáciu komunikácie medzi serverom a klientom. Podľa tohto mechanizmu aplikácia umožňuje serveru a klientovi vymieňať si medzi nimi dáta. Podobne ako v iných programovacích jazykoch nám PHP poskytuje tento mechanizmus. Programovanie soketu možno definovať ako prístup k programovaniu, ktorý má server a klienta ako aplikáciu, v ktorej sa musí medzi nimi vytvoriť spojenie, aby sa uľahčila komunikácia medzi nimi. Pokiaľ ide o PHP, umožňuje nám tiež implementovať koncept programovania soketov. V tomto článku sa naučíme, ako implementovať toto programovanie soketov pomocou programovacieho jazyka PHP.
Metódy triedy Socket
Metódy triedy soketov sú špeciálne funkcie, ktoré umožňujú implementáciu programovania soketov. Program, ktorý musí byť napísaný, aby priniesol funkcie programovania soketov, používa preddefinované soketové funkcie. Tieto funkcie pozostávajú z príkazov, ktoré vykonávajú skutočnú úlohu v programovaní soketov. Nižšie sú uvedené niektoré z funkcií soketu.
- Socket_accept: Toto je jedna z najbežnejších funkcií soketu, ktorá sa používa na prijatie pripojenia na sokete. Hlavnou úlohou tejto funkcie je nechať pripojenie akceptované vždy, keď sa vyskytne požiadavka.
- Socket_addrinfo_bind: Táto funkcia sa používa na pridanie poskytnutých informácií do soketu. Prijaté informácie musia byť priradené k soketu, aby sa uľahčila jeho implementácia.
- Socket_clear_error: Táto funkcia sa používa na odstránenie chyby, ktorá je na sokete. Okrem toho táto funkcia vymaže aj chybu pri poslednom kóde.
- Socket_close: Ako už názov napovedá, táto funkcia sa používa na zatvorenie prostriedku, ktorý patrí do soketu.
- Socket_connect: Táto metóda sa používa na vytvorenie soketového pripojenia. Pri programovaní soketu program začína vytvorením spojenia, ktoré je možné vykonať pomocou tejto funkcie.
- Socket_create: Táto metóda sa týka vytvorenia soketu. Soket vytvorený pomocou tejto metódy funguje ako koncový bod pripojenia.
- Socket_create_listen: Táto funkcia sa používa na otvorenie soketu určený port, ktorý akceptuje pripojenie. Ako už názov napovedá, pomáha pri otváraní zásuvky pre počúvanie.
- Socket_create_pair: Táto metóda sa zvyčajne používa v aplikácii, ktorá potrebuje uviesť do používania zložitú časť programovania soketov. Pomáha pri vytváraní nerozoznateľných soketov a tie sú uložené v poli.
- Socket_get_option: Táto metóda sa používa na získanie možností pre soket. Zásuvka sa skladá z niekoľkých možností, ktoré sa musia používať v súlade s aplikáciou. Použitím tejto metódy môžeme získať všetky tie možnosti, ktoré má soket.
- Socket_getsockname: Táto metóda sa používa na vyhľadávanie v miestnej oblasti vybratého soketu a na oplátku môže získať podrobnosti týkajúce sa cesty hostiteľa / portu alebo cesty k súborovému systému Unix. Bez ohľadu na výsledok to úplne závisí od typu.
Príklad klienta Socket
V tejto časti sa zobrazí kód, ktorý sa použije na implementáciu programovania soketov na strane klienta. V nasledujúcom príklade bude uvedený príspevok a informácie o hostiteľovi, ktoré sa použijú na vytvorenie soketového pripojenia. Po nadviazaní spojenia vymení niektoré správy a očakáva odpoveď zo servera.
<_?php$port_number = 1230;
$IPadress_host = "127.0.0.1";
$hello_msg= "This is server";
echo "Hitting the server :".$hello_msg;
$socket_creation = socket_create(AF_INET, SOCK_STREAM, 0) or die("Unable to create connection with socket\n");
$server_connect = socket_connect($socket_creation, $IPadress_host, $port_number) or die("Unable to create connection with server\n");
socket_write($socket_creation, $hello_msg, strlen($hello_msg)) or die("Unable to send data to the server\n");
$server_connect = socket_read ($socket_creation, 1024) or die("Unable to read response from the server\n");
echo "Message from the server :".$server_connect;
socket_close($socket_creation);
?>
Vo vyššie uvedenom príklade je číslo portu 1230, v ktorom sa program pokúša pripojiť. IP adresa hostiteľa bude IP localhost. Ak je niekto ochotný komunikovať so vzdialeným serverom, môže uviesť IP adresu servera. Správa sa potom odošle na server, ktorý sa zobrazí na stránke s odpoveďami. Vytvorenie soketu bude následne spracované. V tomto programe existuje vhodný mechanizmus na zvládnutie chyby pomocou metódy die. Ak sa v takom prípade niečo pokazí, metóda die sa zruší a objaví sa správa v tom uvedená.
Príklad servera Socket
Príkladom podrobne opísaným v tejto časti budú kódy PHP, ktoré sa využijú na implementáciu programovania soketov na strane servera. Podrobnosti IP a čísla portu použité v poslednom príklade zostanú rovnaké aj v tomto príklade. Hlavným rozdielom v tomto príklade bude hlavný rozdiel, ktorý ho oddeľuje od programovacieho jazyka soketu na strane klienta. Umožňuje procesu porozumieť kódu PHP na programovanie soketov na strane servera.
<_?php$port_number = 1230;
$IPadress_host = "127.0.0.1";
set_time_limit(0);
$socket_creation = socket_create(AF_INET, SOCK_STREAM, 0) or die("Unable to create socket\n");$socket_outcome = socket_bind($socket_creation, $IPadress_host, $port_number ) or die("Unable to bind to socket\n");
$socket_outcome = socket_listen($socket_creation, 3) or die("Unable to set up socket listener\n");
$socketAccept = socket_accept($socket_creation) or die("Unable to accept incoming connection\n");
$data = socket_read($socketAccept, 1024) or die("Unable to read input\n");
$data = trim($data);
echo "Client Message : ".$data;
$outcome = strrev($data) . "\n";
socket_write($socketAccept, $outcome, strlen ($outcome)) or die("Unable to write output\n");
socket_close($socketAccept);
socket_close($socket_creation);
?>
Vo vyššie uvedenom príklade bol program vyvinutý pre prácu v localhost. Tu uvedená adresa IP patrí miestnemu hostiteľovi a číslo portu môže na tomto spustiť službu TCP a UDP. Prvým krokom je vždy vytvorenie soketu, pretože to bude niečo, čo sa bude používať v celom programe. Neskôr bol soket spojený so špecifikovanými hodnotami, ktoré pomôžu pri fungovaní. Metódy použité v tomto programe majú preddefinovaný význam, ktorý je možné použiť na konkrétny účel. Akonáhle bude všetko v poriadku, program bude zodpovedajúcim spôsobom fungovať a nakoniec ukončí pripojenie soketu.
Záver - Programovanie zásuviek v PHP
Programovací jazyk soketu sa používa na nechanie aplikácie pracovať na serveri a modeli klienta. Tento prístup k programovaniu umožňuje nadviazať spojenie medzi serverom a klientom, aby sa uľahčila výmena údajov. Aby bolo programovanie soketu jednoduché a pohodlné, PHP poskytlo preddefinované metódy, v ktorých majú všetky metódy priradené niektoré jedinečné úlohy.
Odporúčané články
Toto je sprievodca programovaním zásuviek v PHP. Tu diskutujeme metódy, ktoré nám umožňujú implementovať programovanie soketov a ako to umožňuje serveru a klientovi vymieňať si medzi nimi dáta. Ak sa chcete dozvedieť viac, môžete si pozrieť aj ďalšie súvisiace články -
- Úvod do enkapsulácie v PHP
- Konštruktor v PHP | Typy konštruktorov
- Čo je v PHP nadradené?
- PHP Magic Constants
- Rekurzívna funkcia PHP
- Príklady funkcií PHP String
- Sprievodca programovaním zásuviek v jazyku Java