Introduksjon til Socket-programmering i PHP
Alle programmeringsspråk gir mekanismen for å implementere server- og klientkommunikasjon. I henhold til denne mekanismen gjør applikasjonen serveren og klienten i stand til å utveksle data mellom seg. I likhet med de andre programmeringsspråk gir PHP oss også denne mekanismen. Socket-programmering kan defineres som tilnærmingen til programmering som har serveren og klienten som applikasjonen der det må etableres en forbindelse mellom begge for å lette kommunikasjonen mellom dem. Når det gjelder PHP, lar det oss også implementere konseptet socket-programmering. I denne artikkelen lærer vi hvordan du implementerer denne socket-programmeringen ved å bruke PHP-programmeringsspråk.
Metoder for sokkelklasse
Socket class-metodene er de spesielle funksjonene som lar oss implementere socket-programmeringen. Programmet som må skrives for å få funksjonaliteten til socket-programmering bruker de forhåndsdefinerte socketfunksjonene. Disse funksjonene består av utsagnene som utfører den faktiske rollen i socket-programmering. Nedenfor er noen av sokkelfunksjonene.
- Socket_accept: Dette er en av de veldig vanlige socketfunksjonene som brukes til å godta en tilkobling på en socket. Den viktigste rollen til denne funksjonen er å la forbindelsen godkjennes når en forespørsel treffer.
- Socket_addrinfo_bind: Denne funksjonen brukes til å legge den oppgitte informasjonen til kontakten. Den aksepterte informasjonen må tilordnes stikkontakten for å lette implementeringen.
- Socket_clear_error: Denne funksjonen brukes til å fjerne feilen som er på kontakten. I tillegg til dette, tømmer også denne funksjonen feilen på den siste koden.
- Socket_close: Som navnet heter, brukes denne funksjonen til å lukke ressursen som hører til socket.
- Socket_connect: Denne metoden brukes til å opprette en socketforbindelse . I sokelprogrammeringen begynner programmet med etablering av forbindelsen som kan gjøres ved hjelp av denne funksjonen.
- Socket_create: Denne metoden er opptatt av å lage socket. Stikkontakten opprettet ved hjelp av denne metoden fungerer som sluttpunktet for tilkoblingen.
- Socket_create_listen: Denne funksjonen brukes til å få socket til å åpne den spesifiserte porten som godtar tilkoblingen. Som navnet sier, hjelper det å åpne kontakten for lytting.
- Socket_create_pair: Denne metoden brukes vanligvis i applikasjonen som trenger å bringe den kompliserte delen av socket-programmering i bruk. Det hjelper i opprettelsen av utskillelige stikkontakter og de er lagret i matrisen.
- Socket_get_option: Denne metoden brukes til å få alternativene for socket. En stikkontakt består av flere alternativer som må brukes i samsvar med applikasjonen. Ved å bruke denne metoden, kan vi få alle disse alternativene som en stikkontakt har.
- Socket_getsockname: Denne metoden brukes til å spørre den lokale regionen til den valgte kontakten, og til gjengjeld kan det hende at detaljene er relatert til verten / porten eller Unix-filsystemstien. Uansett hvilket resultat det får er helt avhengig av typen.
Eksempel på Socket Client
I dette avsnittet vil vi se koden som vil bli brukt til å implementere klientsiden-sokkelprogrammering. Eksemplet nevnt nedenfor vil ha posten og vertsdetaljene som vil bli brukt til å opprette socketforbindelsen. En tilkobling er opprettet, den utveksler noen av meldingene og forventer et svar fra serveren.
<_?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);
?>
I eksemplet over er portnummeret 1230 der programmet prøver å koble seg til. IP-adressen til verten er localhostens IP. Hvis noen er villige til å samhandle med den eksterne serveren, kan de nevne IP-adressen til serveren. Deretter blir meldingen sendt til serveren som vil vises på responssiden. Socket-opprettelsen blir behandlet etterpå. I dette programmet er det en riktig mekanisme for å håndtere feilen ved å bruke die-metoden. Hvis noe gikk galt i så fall, blir metoden trukket tilbake og meldingen som gis der dukker opp.
Eksempel på socket server
Eksemplet som er detaljert i dette avsnittet, vil ha PHP-kodene som vil bli utnyttet for å implementere sokkelprogrammeringen på serversiden. Detaljene om IP-en og portnummeret som ble brukt i det siste eksemplet, vil forbli de samme i dette eksemplet. Hovedforskjellen i dette eksemplet vil kjerneforskjellen som skiller det fra programmeringsspråket på klientsiden. Lar prosess for å forstå PHP-koden for programmering på serversiden.
<_?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);
?>
I eksemplet over er programmet utviklet for å fungere i localhost. IP-adressen som er nevnt her tilhører localhost, og portnummeret kan kjøre TCP og UDP-tjenesten på den. Det første trinnet er alltid å opprette stikkontakten, da det er noe som vil bli brukt i hele programmet. Senere er kontakten festet med de spesifiserte verdiene som vil hjelpe i å fungere. Metodene som brukes i dette programmet har den forhåndsdefinerte betydningen som kan brukes til et bestemt formål. Når alt går bra, vil programmet fungere tilsvarende og vil lukke stikkontakten etter hvert.
Konklusjon - Socket-programmering i PHP
Programmeringsspråket for socket brukes for å la applikasjonen fungere på serveren og klientmodellen. Denne tilnærmingen til programmering lar oss etablere forbindelsen mellom serveren og klienten, slik at utvekslingen av dataene kunne lette. For å gjøre socket-programmeringen enkel og praktisk, har PHP gitt de forhåndsdefinerte metodene der alle metodene har noen unike oppgaver tildelt dem.
Anbefalte artikler
Dette er en guide til Socket-programmering i PHP. Her diskuterer vi metodene som lar oss implementere socket-programmering og hvordan det gjør det mulig for serveren og klienten å utveksle data mellom dem. Du kan også se på andre relaterte artikler for å lære mer -
- Introduksjon til innkapsling i PHP
- Konstruktør i PHP | Typer konstruktør
- Hva er overstyring i PHP?
- PHP Magic Constants
- PHP rekursiv funksjon
- Eksempler på PHP-strengfunksjoner
- Guide to Socket Programming in Java