Introduktion till Socket-programmering i PHP
Alla programmeringsspråk tillhandahåller mekanismen för att implementera server- och klientkommunikation. Enligt denna mekanism möjliggör applikationen servern och klienten att utbyta data mellan dem. I likhet med andra programmeringsspråk ger PHP oss också denna mekanism. Socket-programmering kan definieras som den strategi för programmering som har servern och klienten som applikationen där en anslutning måste upprättas mellan båda för att underlätta kommunikationen mellan dem. När det gäller PHP låter det oss också implementera konceptet för socket-programmering. I den här artikeln kommer vi att lära dig hur du implementerar den här sockelprogrammeringen med PHP-programmeringsspråk.
Socket Class Methods
Sockelklassmetoderna är de speciella funktionerna som låter oss implementera sockelprogrammeringen. Programmet som måste skrivas för att få sockelprogrammeringsfunktionaliteterna använder de fördefinierade socketfunktionerna. Dessa funktioner består av uttalanden som spelar den faktiska rollen i sockelprogrammering. Nedan finns några av socketfunktionerna.
- Socket_accept: Detta är en av de mycket vanliga socketfunktionerna som används för att acceptera en anslutning på ett uttag. Den primära rollen för denna funktion är att låta anslutningen accepteras varje gång en begäran träffar.
- Socket_addrinfo_bind: Den här funktionen används för att lägga till den medföljande informationen i socket. Den accepterade informationen måste tilldelas sockeln för att underlätta dess implementering.
- Socket_clear_error: Den här funktionen används för att rensa felet som finns på uttaget. Utöver detta rensar denna funktion också felet i den sista koden.
- Socket_close: Som namnet anger, används den här funktionen för att stänga resursen som tillhör socket.
- Socket_connect: Den här metoden används för att skapa en socket-anslutning. I sockelprogrammeringen börjar programmet med upprättandet av anslutningen som kan göras med denna funktion.
- Socket_create: Den här metoden handlar om att skapa socket. Uttaget skapat med denna metod fungerar som slutpunkten för anslutningen.
- Socket_create_listen: Den här funktionen används för att få uttaget till den angivna porten som accepterar anslutningen. Som namnet anger hjälper det att öppna uttaget för att lyssna.
- Socket_create_pair: Den här metoden används vanligtvis i applikationen som behöver för att använda den komplexa delen av socket-programmering. Det hjälper till att skapa de oskiljbara uttagen och de lagras i matrisen.
- Socket_get_option: Den här metoden används för att få alternativen för socket. Ett uttag består av flera alternativ som måste användas i enlighet med applikationen. Genom att använda den här metoden kan vi få alla de alternativ som ett uttag har.
- Socket_getsockname: Den här metoden används för att fråga den lokala regionen för den valda socketen och i gengäld kan den få informationen relaterad till värden / porten eller Unix-filsystemets sökväg. Oavsett resultat det blir är helt beroende av typen.
Exempel på Socket Client
I det här avsnittet kommer vi att se koden som kommer att användas för att implementera klientsidan uttagsprogrammering. Exemplet som nämns nedan kommer att ha posten och värdinformationen som kommer att användas för att skapa socketanslutningen. En anslutning upprättas, den utbyter några av meddelandena och förväntar sig ett svar från servern.
<_?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 exemplet ovan är portnumret 1230 i vilket programmet försöker ansluta. Värdens IP-adress är den lokala värdens IP-adress. Om någon är villig att interagera med fjärrservern kan de nämna serverns IP-adress. Sedan skickas meddelandet till servern som kommer att visas på svarssidan. Skapningen av uttag kommer att bearbetas efteråt. I detta program finns det en korrekt mekanism för att hantera felet med hjälp av matningsmetoden. Om något gick fel i detta fall återkallas metoden och meddelandet som ges där dyker upp.
Exempel på Socket Server
Exemplet som beskrivs i det här avsnittet kommer att ha PHP-koder som kommer att utnyttjas för att implementera sockelprogrammeringen på serversidan. Detaljerna för IP och portnumret som använts i det senaste exemplet kommer att förbli desamma också i det här exemplet. Huvudskillnaden i det här exemplet kommer att vara kärnskillnaden som skiljer den från programmeringsspråket på klientsidan. Låter processen för att förstå PHP-koden för server-sockelprogrammering.
<_?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 exemplet ovan har programmet utvecklats för att fungera i localhost. IP-adressen som nämns här tillhör localhost och portnumret kan köra TCP- och UDP-tjänsten på den. Det första steget är alltid skapandet av uttaget eftersom det är något som kommer att användas i hela programmet. Senare har uttaget kopplats till de angivna värdena som hjälper till att fungera. Metoderna som används i detta program har den fördefinierade betydelsen som kan användas för ett specifikt syfte. När allt går bra fungerar programmet i enlighet därmed och slutar slutligen anslutningen.
Slutsats - Socket-programmering i PHP
Socket-programmeringsspråket används för att låta applikationen fungera på servern och klientmodellen. Denna metod för programmering låter oss upprätta anslutningen mellan servern och klienten så att utbytet av data skulle kunna underlättas. För att göra sockelprogrammeringen enkel och bekväm har PHP tillhandahållit de fördefinierade metoderna där alla metoder har några unika uppgifter tilldelade dem.
Rekommenderade artiklar
Detta är en guide till Socket-programmering i PHP. Här diskuterar vi de metoder som låter oss implementera socket-programmering och hur det gör det möjligt för servern och klienten att utbyta data mellan dem. Du kan också titta på våra andra relaterade artiklar för att lära dig mer -
- Introduktion till inkapsling i PHP
- Konstruktör i PHP | Typer av konstruktör
- Vad överstyrs i PHP?
- PHP magiska konstanter
- PHP rekursiv funktion
- Exempel på PHP-strängfunktioner
- Guide till Socket-programmering i Java