Introducere în programarea Socket în PHP
Toate limbajele de programare oferă mecanismul de implementare a comunicării cu serverul și clientul. Conform acestui mecanism, aplicația permite serverului și clientului să facă schimb de date între ei. Similar cu celelalte limbaje de programare, PHP ne oferă și acest mecanism. Programarea socket-ului poate fi definită ca abordarea programării care are serverul și clientul ca fiind aplicația unde trebuie stabilită o conexiune între ambele, pentru a facilita comunicarea între ei. În ceea ce privește PHP, ne permite, de asemenea, să implementăm conceptul de programare socket. În acest articol, vom învăța cum să implementăm această programare socket folosind limbajul de programare PHP.
Socket Class Methods
Metodele clasei socket sunt funcțiile speciale care ne permit să implementăm programarea socket-ului. Programul care trebuie scris pentru a aduce funcționalitățile programării socket utilizează funcțiile predefinite ale socket-ului. Aceste funcții constau din enunțurile care îndeplinesc rolul real în programarea soclurilor. Mai jos sunt câteva funcții ale soclului.
- Socket_accept: Aceasta este una dintre funcțiile socket foarte comune care este folosită pentru a accepta o conexiune la un socket. Rolul principal al acestei funcții este de a permite conexiunea acceptată de fiecare dată când o solicitare lovește.
- Socket_addrinfo_bind: Această funcție este utilizată pentru a adăuga informațiile furnizate în socket. Informațiile acceptate trebuie să fie alocate soclului pentru a facilita punerea sa în aplicare.
- Socket_clear_error: Această funcție este folosită pentru a șterge eroarea care este pe socket. În plus, această funcție șterge și eroarea de pe ultimul cod.
- Socket_close: După cum spune numele, această funcție este folosită pentru a închide resursa care aparține socket-ului.
- Socket_connect: Această metodă este utilizată pentru a crea o conexiune socket. În programarea socket-ului, programul începe cu stabilirea conexiunii care se poate realiza folosind această funcție.
- Socket_create: Această metodă se referă la crearea soclului. Priza creată folosind această metodă funcționează ca punct final al conexiunii.
- Socket_create_listen: Această funcție este utilizată pentru a face ca socket-ul să deschidă portul specificat care acceptă conexiunea. După cum spune numele, ajută la deschiderea soclului pentru ascultare.
- Socket_create_pair: Această metodă este folosită de obicei în aplicația care trebuie să aducă în uz partea complexă a programării socket. Ajută la crearea prizelor nedistinguibile, iar cele sunt stocate în tablou.
- Socket_get_option: Această metodă este folosită pentru a obține opțiunile pentru socket. Un soclu este format din mai multe opțiuni care trebuie utilizate în conformitate cu aplicația. Folosind această metodă, putem obține toate acele opțiuni pe care le are un soclu.
- Socket_getsockname: Această metodă este utilizată pentru a interoga regiunea locală a socket-ului selectat și, în schimb, poate obține detaliile legate de gazdă / port sau calea sistemului de fișiere Unix. Orice rezultat obținut depinde total de tip.
Exemplu de client Socket
În această secțiune, vom vedea codul care va fi utilizat pentru a implementa programarea socket-ului din partea clientului. Exemplul menționat mai jos va avea postarea și detaliile gazdei care vor fi utilizate pentru a crea conexiunea socket. O conexiune este stabilită, schimbă unele dintre mesaje și așteaptă un răspuns din partea serverului.
<_?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);
?>
În exemplul de mai sus, numărul portului este 1230 în care programul încearcă să se conecteze. Adresa IP a gazdei va fi adresa IP a localhost-ului. Dacă cineva este dispus să interacționeze cu serverul de la distanță, poate menționa adresa IP a serverului. Apoi, mesajul va fi trimis serverului care va fi afișat în pagina de răspuns. Crearea soclurilor va fi procesată ulterior. În acest program, există un mecanism adecvat pentru a gestiona eroarea folosind metoda matriței. În cazul în care ceva a mers greșit în acest caz, metoda matriței este revocată și mesajul dat în acel apare.
Exemplu de server Socket
Exemplul detaliat în această secțiune va avea codurile PHP care vor fi puse în aplicare pentru a implementa programarea socket-ului din partea serverului. Detaliile IP și numărul de port utilizate în ultimul exemplu vor rămâne aceleași și în acest exemplu. Principala diferență în acest exemplu va fi diferența de bază care o separă de limbajul de programare a soclurilor din partea clientului. Permite procesul de a înțelege codul PHP pentru programarea soclurilor din partea serverului.
<_?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);
?>
În exemplul de mai sus, programul a fost dezvoltat pentru a funcționa în localhost. Adresa IP menționată aici aparține localhost, iar numărul portului poate rula serviciul TCP și UDP. Pasul inițial este întotdeauna crearea soclului, deoarece este ceva care va fi utilizat pe parcursul programului. Mai târziu soclul a fost legat cu valorile specificate care vor ajuta la funcționarea. Metodele utilizate în acest program au sensul predefinit care poate fi utilizat pentru un scop specific. Odată ce totul merge bine, programul va funcționa în consecință și va închide conexiunea la socket în cele din urmă.
Concluzie - Programare Socket în PHP
Limbajul de programare socket este folosit pentru a permite aplicației să funcționeze pe server și modelul client. Această abordare a programării ne permite să stabilim conexiunea între server și client, astfel încât schimbul de date să poată fi facilitat. Pentru a face programarea socket-ului ușoară și convenabilă, PHP a furnizat metodele predefinite în care toate metodele au anumite sarcini unice.
Articole recomandate
Acesta este un ghid pentru Socket Programming în PHP. Aici discutăm metodele care ne permit să implementăm programarea socket-ului și modul în care acesta permite serverului și clientului să facă schimb de date între ei. Puteți să consultați și celelalte articole conexe pentru a afla mai multe -
- Introducere în încapsulare în PHP
- Constructor în PHP | Tipuri de constructor
- Ce este suprasolicitarea în PHP?
- PHP Constante magice
- Funcție recurentă PHP
- Exemple de funcții cu șiruri PHP
- Ghid pentru programarea Socket în Java