Johdanto Socket-ohjelmointiin PHP: ssä

Kaikki ohjelmointikielet tarjoavat mekanismin palvelin- ja asiakasviestinnän toteuttamiseksi. Tämän mekanismin mukaisesti sovellus antaa palvelimelle ja asiakkaalle mahdollisuuden vaihtaa tietoja keskenään. Kuten muutkin ohjelmointikielet, PHP tarjoaa meille myös tämän mekanismin. Pistorasio-ohjelmointi voidaan määritellä ohjelmointimenetelmäksi, jossa palvelin ja asiakas ovat sovellus, jossa on luotava yhteys molempien välillä heidän välisen viestinnän helpottamiseksi. PHP: n suhteen se antaa myös mahdollisuuden toteuttaa pistorasio-ohjelmoinnin käsite. Tässä artikkelissa opitaan kuinka tämä socket-ohjelmointi toteutetaan PHP-ohjelmointikielellä.

Pistorasiamenetelmät

Pistorasialuokan menetelmät ovat erityisiä toimintoja, joiden avulla voimme toteuttaa pistorasioiden ohjelmoinnin. Ohjelma, joka on kirjoitettava pistorasioiden ohjelmoinnin toimintojen tuomiseksi käyttöön, käyttää ennalta määritettyjä pistorasioiden toimintoja. Nämä toiminnot koostuvat lauseista, jotka suorittavat todellisen roolin pistorasioiden ohjelmoinnissa. Alla on joitain pistorasioiden toimintoja.

  • Socket_accept: Tämä on yksi yleisimmistä pistorasiatoiminnoista, jota käytetään vastaanottamaan yhteys pistorasiassa. Tämän toiminnon ensisijainen tehtävä on antaa yhteyden hyväksyä aina, kun pyyntö osuu.
  • Socket_addrinfo_bind: Tätä toimintoa käytetään toimitettujen tietojen lisäämiseen pistorasiaan. Hyväksytyt tiedot on osoitettava pistorasiaan sen toteuttamisen helpottamiseksi.
  • Socket_clear_error: Tätä toimintoa käytetään pistorasian virheen poistamiseen. Tämän lisäksi tämä toiminto poistaa myös viimeisen koodin virheen.
  • Socket_close: Kuten nimessä todetaan, tätä toimintoa käytetään pistorasiaan kuuluvan resurssin sulkemiseen.
  • Socket_connect: Tätä menetelmää käytetään pistorasiayhteyden luomiseen. Pistorasio-ohjelmoinnissa ohjelma alkaa yhteyden luomisesta, joka voidaan tehdä tällä toiminnolla.
  • Socket_create: Tämä menetelmä koskee pistorasian luomista. Tällä menetelmällä luotu pistorasia toimii yhteyden päätepisteenä.
  • Socket_create_listen: Tätä toimintoa käytetään pistorasian avaamiseen määritettyyn porttiin, joka hyväksyy yhteyden. Kuten nimi kertoo, se auttaa pistorasian avaamisessa kuuntelua varten.
  • Socket_create_pair: Tätä menetelmää käytetään yleensä sovelluksessa, jonka on tuotava monimutkainen osa socket-ohjelmoinnista käyttöön. Se auttaa erottamattomien pistorasioiden luomisessa, ja ne tallennetaan taulukkoon.
  • Socket_get_option: Tätä menetelmää käytetään socketin asetusten hankkimiseen. Pistorasia koostuu useista vaihtoehdoista, joita on käytettävä sovelluksen mukaisesti. Tätä menetelmää käyttämällä saadaan kaikki vaihtoehdot, jotka pistorasialla on.
  • Socket_getsockname: Tätä menetelmää käytetään kyselyyn valitun socketin paikallisesta alueesta, ja vastineeksi se voi saada isäntään / porttiin tai Unix-tiedostojärjestelmään liittyviä tietoja. Minkä tahansa tuloksen se saakin, on täysin riippuvainen tyypistä.

Socket Client -esimerkki

Tässä osassa näemme koodin, jota käytetään asiakaspuolen pistorasioiden ohjelmoinnin toteuttamiseen. Jäljempänä mainitussa esimerkissä on posti- ja isäntätiedot, joita käytetään pistorasiayhteyden luomiseen. Kun yhteys on muodostettu, se vaihtaa joitain viestejä ja odottaa vastausta palvelimelta.

<_?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);
?>

Yllä olevassa esimerkissä porttinumero on 1230, johon ohjelma yrittää muodostaa yhteyden. Isännän IP-osoite on localhostin IP. Jos joku haluaa olla yhteydessä etäpalvelimeen, hän voi mainita palvelimen IP-osoitteen. Sitten viesti lähetetään palvelimelle, joka näkyy vastaussivulla. Pistorasian luominen käsitellään myöhemmin. Tässä ohjelmassa on asianmukainen mekanismi virheen käsittelemiseksi suulakemenetelmällä. Jos jotain meni pieleen, muotomenetelmä kumotaan ja siinä annettu viesti aukeaa.

Socket Server -esimerkki

Tässä osassa yksityiskohtaisesti esitetyssä esimerkissä on PHP-koodeja, joita käytetään hyödyntämään socket-ohjelmointia palvelinpuolella. Viimeisessä esimerkissä käytetyt IP: n ja porttinumeron tiedot pysyvät samoina myös tässä esimerkissä. Tämän esimerkin pääero on ydinero, joka erottaa sen asiakaspuolen pistorasian ohjelmointikielestä. Antaa prosessin ymmärtää PHP-koodia palvelinpuolen pistorasioiden ohjelmointia varten.

<_?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);
?>

Yllä olevassa esimerkissä ohjelma on kehitetty toimimaan localhostissa. Tässä mainittu IP-osoite kuuluu paikallismajoitukseen, ja porttinumero voi suorittaa TCP- ja UDP-palvelun siinä. Alkuvaihe on aina pistorasian luominen, koska se on jotain, jota käytetään koko ohjelman ajan. Myöhemmin pistorasiaan on liitetty määritellyt arvot, jotka auttavat toimimaan. Tässä ohjelmassa käytetyillä menetelmillä on ennalta määritelty merkitys, jota voidaan käyttää tiettyyn tarkoitukseen. Kun kaikki menee hyvin, ohjelma toimii vastaavasti ja sulkee pistorasian yhteyden lopulta.

Johtopäätös - Socket-ohjelmointi PHP: ssä

Socket-ohjelmointikieltä käytetään antamaan sovelluksen toimia palvelimella ja asiakasmallilla. Tämä ohjelmointimenetelmä antaa meille mahdollisuuden luoda yhteys palvelimen ja asiakkaan välille, jotta datan vaihtoa voidaan helpottaa. Jotta pistorasioiden ohjelmointi olisi helppoa ja kätevää, PHP on toimittanut ennalta määritetyt menetelmät, joissa kaikille menetelmille on annettu joitain yksilöllisiä tehtäviä.

Suositellut artikkelit

Tämä on opas Socket -ohjelmointiin PHP: ssä. Tässä keskustellaan menetelmistä, joiden avulla voimme toteuttaa socket-ohjelmoinnin, ja kuinka se antaa palvelimelle ja asiakkaalle mahdollisuuden vaihtaa tietoja keskenään. Voit myös katsoa muita aiheeseen liittyviä artikkeleitamme saadaksesi lisätietoja -

  1. Johdatus kapselointiin PHP: ssä
  2. Rakentaja PHP: llä | Rakentajatyypit
  3. Mikä on tärkeintä PHP: ssä?
  4. PHP-taikuusvakiot
  5. PHP-rekursiivinen toiminto
  6. Esimerkkejä PHP: n kielitoiminnoista
  7. Opas Socket-ohjelmointiin Java: lla