Socket-programmering i PHP - Forskellig klassemetode med eksempler

Indholdsfortegnelse:

Anonim

Introduktion til Socket-programmering i PHP

Alle programmeringssprog giver mekanismen til implementering af server- og klientkommunikation. I henhold til denne mekanisme gør applikationen det muligt for serveren og klienten at udveksle data mellem dem. I lighed med de andre programmeringssprog giver PHP os også denne mekanisme. Socket-programmering kan defineres som den tilgang til programmering, der har serveren og klienten som det program, hvor der skal oprettes en forbindelse mellem dem begge for at lette kommunikationen mellem dem. Med hensyn til PHP giver det os også mulighed for at implementere konceptet med socket-programmering. I denne artikel lærer vi, hvordan man implementerer denne socket-programmering ved hjælp af PHP-programmeringssprog.

Socket Class Methods

Metoderne til socketklasse er de specielle funktioner, der lader os implementere socketprogrammeringen. Det program, der skal skrives for at bringe funktionaliteterne i socket-programmering, bruger de foruddefinerede socket-funktioner. Disse funktioner består af udsagn, der udfører den faktiske rolle i socket-programmering. Nedenfor er nogle af socketfunktionerne.

  • Socket_accept: Dette er en af ​​de meget almindelige socketfunktioner, der bruges til at acceptere en forbindelse på en socket. Den primære rolle med denne funktion er at lade forbindelsen accepteres, når en anmodning rammer.
  • Socket_addrinfo_bind: Denne funktion bruges til at tilføje de medfølgende oplysninger til soklen. De accepterede oplysninger skal tildeles soklen for at lette implementeringen.
  • Socket_clear_error: Denne funktion bruges til at rydde den fejl, der er på soklen. Derudover rydder denne funktion også fejlen på den sidste kode.
  • Socket_close: Som navnet hedder, bruges denne funktion til at lukke ressourcen, der hører til socket.
  • Socket_connect: Denne metode bruges til at oprette en socketforbindelse . I sokelprogrammeringen begynder programmet med etablering af forbindelsen, der kan udføres ved hjælp af denne funktion.
  • Socket_create: Denne metode vedrører oprettelsen af ​​socket. Stikket, der oprettes ved hjælp af denne metode, fungerer som slutpunktet for forbindelsen.
  • Socket_create_listen: Denne funktion bruges til at få socket til at åbne den specificerede port, der accepterer forbindelsen. Som navnet hedder, hjælper det med at åbne stikket til at lytte.
  • Socket_create_pair: Denne metode bruges normalt i det program, der skal bringe den komplekse del af socket-programmering i brug. Det hjælper med at skabe de udskillelige sokler, og dem er gemt i matrixen.
  • Socket_get_option: Denne metode bruges til at få mulighederne for socket. En stikkontakt består af flere muligheder, der skal bruges i overensstemmelse med applikationen. Ved at bruge denne metode kan vi få alle de muligheder, en socket har.
  • Socket_getsockname: Denne metode bruges til at forespørge den lokale region af den valgte socket, og til gengæld kan den muligvis få oplysningerne relateret til værten / porten eller Unix-filsystemstien. Uanset hvilket resultat det får er helt afhængig af typen.

Eksempel på Socket Client

I dette afsnit vil vi se den kode, der vil blive brugt til at implementere klientsiden-socket-programmering. Eksemplet nævnt nedenfor vil have posten og værtsdetaljerne, der vil blive brugt til at oprette socketforbindelsen. Én forbindelse er etableret, den udveksler nogle af meddelelserne 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 ovenstående eksempel er portnummeret 1230, hvor programmet prøver at oprette forbindelse. Værtsens IP-adresse vil være localhostens IP. Hvis nogen er villig til at interagere med fjernserveren, kan de nævne serverens IP-adresse. Derefter sendes beskeden til serveren, der vises på responssiden. Oprettelsen af ​​socket behandles bagefter. I dette program er der en ordentlig mekanisme til at håndtere fejlen ved hjælp af die-metoden. Hvis der gik noget galt i dette tilfælde, bliver dø-metoden ophævet, og meddelelsen, der er givet deri, dukker op.

Eksempel på Socket Server

Eksemplet, der er beskrevet i dette afsnit, vil være at have de PHP-koder, der vil blive udnyttet til at implementere socket-programmeringen på serversiden. Detaljerne om IP'en og det portnummer, der blev brugt i det sidste eksempel, forbliver også de samme i dette eksempel. Den største forskel i dette eksempel vil kerneforskellen, der adskiller den fra programmeringssproget på klientsiden. Lader processen til at forstå PHP-koden til server-side-socket-programmering.

<_?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 ovenstående eksempel er programmet udviklet til at fungere i localhost. IP-adressen, der er nævnt her, hører til localhost, og portnummeret kan køre TCP- og UDP-tjenesten på den. Det første trin er altid oprettelsen af ​​stikket, da det er noget, der vil blive brugt i hele programmet. Senere er stikket bundet til de specificerede værdier, som vil hjælpe med at fungere. Metoderne, der bruges i dette program, har den foruddefinerede betydning, der kan bruges til et specifikt formål. Når alt går godt, fungerer programmet i overensstemmelse hermed og lukker sokkelforbindelsen til sidst.

Konklusion - Socket-programmering i PHP

Socket-programmeringssprog bruges til at lade applikationen arbejde på serveren og klientmodellen. Denne fremgangsmåde til programmering giver os mulighed for at etablere forbindelsen mellem serveren og klienten, så udvekslingen af ​​dataene kunne gøres lettere. For at gøre socket-programmeringen nem og praktisk har PHP leveret de foruddefinerede metoder, hvor alle metoder har nogle unikke opgaver, der er tildelt dem.

Anbefalede artikler

Dette er en guide til Socket-programmering i PHP. Her diskuterer vi de metoder, der lader os implementere socket-programmering, og hvordan det giver serveren og klienten mulighed for at udveksle data mellem dem. Du kan også se på vores andre relaterede artikler for at lære mere -

  1. Introduktion til indkapsling i PHP
  2. Konstruktør i PHP | Typer af konstruktør
  3. Hvad er overstyring i PHP?
  4. PHP magiske konstanter
  5. PHP rekursiv funktion
  6. Eksempler på PHP-strengfunktioner
  7. Vejledning til Socket-programmering i Java