Sissejuhatus PHP-s oleva pistikupesa programmeerimisse
Kõik programmeerimiskeeled pakuvad mehhanismi serveri ja kliendi vahelise suhtluse rakendamiseks. Selle mehhanismi kohaselt võimaldab rakendus serveril ja kliendil omavahel andmeid vahetada. Sarnaselt teiste programmeerimiskeeltega pakub ka PHP meile seda mehhanismi. Pistikupesa programmeerimist võib määratleda kui programmeerimise lähenemist, millel on server ja klient kui rakendus, kus nendevahelise suhtluse hõlbustamiseks tuleb luua ühendus mõlema vahel. PHP osas võimaldab see meil rakendada ka pistikupesa programmeerimise kontseptsiooni. Selles artiklis õpime, kuidas seda pistikupesa programmeerimist PHP programmeerimiskeelt kasutades rakendada.
Pistikupesa klassi meetodid
Pistikupesa klassi meetodid on erifunktsioonid, mis võimaldavad meil pistikupesade programmeerimist rakendada. Pistikupesa programmeerimise funktsioonide toomiseks kirjutatav programm kasutab eelnevalt määratletud pistikupesa funktsioone. Need funktsioonid koosnevad avaldustest, mis täidavad tegelikku rolli pistikupesa programmeerimisel. Allpool on toodud mõned pistikupesa funktsioonid.
- Socket_accept: See on üks väga levinud pistikupesa funktsioone, mida kasutatakse pistikupesas oleva ühenduse vastuvõtmiseks. Selle funktsiooni peamine roll on lubada ühendusel aktsepteerida iga päring.
- Socket_addrinfo_bind: Seda funktsiooni kasutatakse lisatud teabe pistikupesa lisamiseks. Vastuvõetud teave tuleb pistikupesasse määrata, et seda hõlbustada.
- Socket_clear_error: Seda funktsiooni kasutatakse pistikupesas oleva tõrke tühistamiseks. Lisaks sellele kustutab see funktsioon ka viimase koodi tõrke.
- Socket_close: nagu nimigi ütleb, kasutatakse seda funktsiooni pistikupesa juurde kuuluva ressursi sulgemiseks.
- Socket_connect: Seda meetodit kasutatakse pistikupesa ühenduse loomiseks. Pistikupesa programmeerimisel algab programm ühenduse loomisega, mida saab selle funktsiooni abil teha.
- Socket_create: see meetod on seotud pesa loomisega. Selle meetodi abil loodud pistikupesa töötab ühenduse lõpp-punktina.
- Socket_create_listen: Seda funktsiooni kasutatakse, et pesa avaks määratud pordi, mis võtab ühenduse vastu. Nagu nimigi ütleb, aitab see pesa kuulamiseks avada.
- Socket_create_pair: Seda meetodit kasutatakse tavaliselt rakenduses, mis peab sokli programmeerimise keeruka osa kasutusele võtma. See aitab eristamatuid pistikupesasid ja neid salvestatakse massiivi.
- Socket_get_option: Seda meetodit kasutatakse pistikupesa valikute saamiseks. Pistikupesa koosneb mitmest võimalusest, mida tuleb vastavalt rakendusele kasutada. Selle meetodi abil saame kõik need võimalused, mis pistikupesal on.
- Socket_getsockname: Seda meetodit kasutatakse päringute tegemiseks valitud pistikupesa kohalikust piirkonnast ja vastutasuks võib see saada hosti / pordi või Unixi failisüsteemi teega seotud üksikasju. Milline tulemus see on, sõltub täielikult tüübist.
Pistikupesa kliendi näide
Selles jaotises näeme koodi, mida kasutatakse kliendipoolse pistikupesa programmeerimiseks. Allpool mainitud näitena on postituse ja masina üksikasjad, mida kasutatakse pistikupesa ühenduse loomiseks. Kui ühendus on loodud, vahetab ta mõned sõnumid ja ootab serverilt vastust.
<_?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);
?>
Ülaltoodud näites on pordi number 1230, millega programm proovib ühendust luua. Masina IP-aadressiks on localhost's IP. Kui keegi on nõus kaugserveriga suhtlema, võib ta mainida serveri IP-aadressi. Siis saadetakse teade serverile, mida näidatakse vastuse lehel. Pistikupesa loomist töödeldakse hiljem. Selles programmis on olemas sobiv mehhanism vea haldamiseks die-meetodi abil. Kui midagi läks valesti, siis suremismeetod tühistatakse ja hüpikteade kuvatakse.
Pistikupesa serveri näide
Selles jaotises üksikasjalikult kirjeldatavaks näiteks on PHP-koodid, mida võetakse kasutusele serveripoolsel pistikupesade programmeerimisel. Viimases näites kasutatud IP ja pordi numbri üksikasjad jäävad samaks ka selles näites. Selle näite peamine erinevus seisneb põhierinevuses, mis eraldab selle kliendipoolse pistikupesa programmeerimiskeelest. Võimaldab mõista serveripoolse pistikupesa programmeerimise PHP-koodi.
<_?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);
?>
Ülaltoodud näites on programm välja töötatud lokaalses serveris töötamiseks. Siin mainitud IP-aadress kuulub localhostile ja pordi number võib sellel kasutada TCP- ja UDP-teenust. Esialgne samm on alati pistikupesa loomine, kuna seda kasutatakse kogu programmi vältel. Hiljem on pistikupesa ühendatud kindlaksmääratud väärtustega, mis aitavad funktsioneerimisel. Selles programmis kasutatavatel meetoditel on etteantud tähendus, mida saab kasutada konkreetsel eesmärgil. Kui kõik läheb hästi, töötab programm vastavalt ja sulgeb lõpuks pistikupesa ühenduse.
Järeldus - pesa programmeerimine PHP-s
Pistikupesa programmeerimiskeelt kasutatakse rakenduse serveris ja kliendi mudelis töötamiseks. Selline programmeerimisviis võimaldab meil luua ühenduse serveri ja kliendi vahel, et andmete vahetamist oleks hõlbustatud. Pistikupesa programmeerimise hõlpsaks ja mugavaks muutmiseks on PHP pakkunud etteantud meetodid, kus kõigil meetoditel on neile määratud unikaalsed ülesanded.
Soovitatavad artiklid
See on juhend PHP-s programmeeritava pistikupesa jaoks. Siin käsitleme meetodeid, mis võimaldavad meil sokli programmeerimist rakendada, ja kuidas see võimaldab serveril ja kliendil omavahel andmeid vahetada. Lisateabe saamiseks võite vaadata ka meie teisi seotud artikleid -
- Sissejuhatus kapseldamisse PHP-s
- Konstruktor PHP-s | Ehitaja tüübid
- Mis on PHP-s ülimuslik?
- PHP võltskonstandid
- PHP rekursiivne funktsioon
- Näited PHP stringifunktsioonidest
- Pistikupesa programmeerimise juhend Java-s