Bevezetés a socket programozásba a PHP-ben
Az összes programozási nyelv biztosítja a szerver és az ügyfél kommunikációjának megvalósításának mechanizmusát. Ezen mechanizmus szerint az alkalmazás lehetővé teszi a szervernek és az ügyfélnek az adatok cseréjét közöttük. A többi programozási nyelvhez hasonlóan a PHP is biztosítja ezt a mechanizmust. A socket programozás úgy definiálható, mint a programozás megközelítése, amelyben a kiszolgáló és az ügyfél található alkalmazásként, ahol kapcsolatot kell létrehozni mindkettő között, hogy megkönnyítsék a közöttük fennálló kommunikációt. A PHP szempontjából ez lehetővé teszi a socket programozás koncepciójának megvalósítását is. Ebben a cikkben megtanuljuk, hogyan kell ezt a socket programozást PHP programozási nyelv használatával megvalósítani.
Aljzatosztály-módszerek
A socket osztály módszerei azok a speciális funkciók, amelyek lehetővé teszik a socket programozás végrehajtását. Az a program, amelyet meg kell írni a socket programozás funkcionalitásának elérése érdekében, az előre meghatározott socket funkciókat használja. Ezek a funkciók olyan állításokból állnak, amelyek a socket programozásában a tényleges szerepet töltenek be. Az alábbiakban bemutatjuk az aljzat néhány funkcióját.
- Socket_accept: Ez az egyik leggyakoribb socket funkció, amelyet egy sockettel való kapcsolat elfogadására használnak. Ennek a funkciónak az elsődleges szerepe az, hogy hagyja a kapcsolatot elfogadva, amikor egy kérés elér.
- Socket_addrinfo_bind: Ez a funkció a megadott információk hozzáadására szolgál a sockethez. Az elfogadott információkat hozzá kell rendelni a foglalathoz annak végrehajtásának megkönnyítése érdekében.
- Socket_clear_error: Ez a funkció a socket hibájának eltávolítására szolgál. Ezen felül ez a funkció törli az utolsó kód hibáját is.
- Socket_close: Ahogy a neve is kimondja, ezt a funkciót használják a sockethez tartozó erőforrás bezárására.
- Socket_connect: Ezt a módszert egy socket kapcsolat létrehozására használják. A foglalatos programozásban a program a kapcsolat létrehozásával kezdődik, amely ennek a funkciónak a segítségével lehetséges.
- Socket_create: Ez a módszer a socket létrehozásával foglalkozik. Az ezzel a módszerrel létrehozott foglalat a kapcsolat végpontjaként működik.
- Socket_create_listen: Ez a funkció arra szolgál, hogy a socket megnyissa a megadott portot, amely elfogadja a kapcsolatot. Ahogy a neve is kimondja, elősegíti a foglalat meghallgatását.
- Socket_create_pair: Ezt a módszert általában az alkalmazásban használják, amelynek a socket programozás komplex részét használatba kell hoznia. Segít a megkülönböztethetetlen aljzatok létrehozásában, és azokat a tömbben tárolják.
- Socket_get_option: Ez a módszer a socket lehetőségeinek beolvasására szolgál. A foglalat több lehetőségből áll, amelyeket az alkalmazásnak megfelelően kell használni. E módszer használatával megkaphatjuk az összes olyan lehetőséget, amely egy foglalatnak van.
- Socket_getsockname: Ez a módszer a kiválasztott socket helyi régiójának lekérdezésére szolgál, és cserébe megkaphatja a gazdagép / port vagy az Unix fájlrendszer elérési útjának részleteit. Bármilyen eredményt is eredményez, teljesen függ a típustól.
Socket kliens példa
Ebben a szakaszban látjuk a kódot, amelyet az ügyféloldali socket programozásához használunk. Az alábbiakban említett példa a postai és a gazdagép adatainak megadása lesz, amelyeket a socketkapcsolat létrehozásához használnak. Az egyik a kapcsolat létrejöttével kicseréli az üzeneteket és válaszra számít a szervertől.
<_?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);
?>
A fenti példában a portszám 1230, amelybe a program megkísérli csatlakozni. A gazdagép IP-címe a localhost IP-je lesz. Ha valaki hajlandó kapcsolatba lépni a távoli szerverrel, megemlítheti a szerver IP-címét. Ezután az üzenetet elküldi a szervernek, amely megjelenik a válasz oldalon. A foglalat létrehozása utána kerül feldolgozásra. Ebben a programban van egy megfelelő mechanizmus a hiba kezelésére a sajtolás módszerével. Ha valami baj történt, akkor a sajtolás módszerét visszavonják, és az abban megjelenő üzenet megjelenik.
Socket szerver példa
Az ebben a szakaszban részletezett példában a PHP kódok szerepelnek, amelyek felhasználhatók lesznek a socket programozás végrehajtására a szerver oldalon. Az utolsó példában használt IP és portszám részletei ebben a példában sem változnak. Ebben a példában a fő különbség az a fő különbség, amely elválasztja az ügyféloldali socket programozási nyelvtől. Meg tudja érteni a szerveroldali socket programozásának PHP kódját.
<_?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);
?>
A fenti példában a programot úgy fejlesztették ki, hogy működjön a localhost-ban. Az itt említett IP-cím a localhost-hoz tartozik, és a port száma képes futtatni a TCP és UDP szolgáltatást ezen. A kezdeti lépés mindig a foglalat létrehozása, mivel ezt valami egész program során fogják használni. Később a foglalatot rögzítették a megadott értékekkel, amelyek elősegítik a működést. A programban alkalmazott módszerek előre meghatározott jelentéssel bírnak, és felhasználhatók egy adott célra. Amint minden jól megy, a program ennek megfelelően fog működni, és végül bezárja az aljzatot.
Következtetés - Socket programozás a PHP-ben
A socket programozási nyelv segítségével az alkalmazás működhet a kiszolgálón és az ügyfél modelljén. A programozás ezen megközelítése lehetővé teszi a kapcsolat létesítését a szerver és az ügyfél között, hogy megkönnyítsük az adatcserét. A socket programozásának egyszerűbbé és kényelmesebbé tétele érdekében a PHP előzetesen megadta azokat a módszereket, ahol az összes módszerhez egyedi egyedi feladatok vannak hozzárendelve.
Ajánlott cikkek
Ez egy útmutató a Socket Programozáshoz a PHP-ben. Itt tárgyaljuk azokat a módszereket, amelyek lehetővé teszik a socket programozás megvalósítását, és azt, hogy ez miként teszi lehetővé a kiszolgáló és az ügyfél közötti adatcserét. A további kapcsolódó cikkeket is megnézheti további információkért -
- Bevezetés a beágyazásba a PHP-ben
- Konstruktor a PHP-ben A konstruktor típusai
- Mi a nyomós PHP?
- PHP mágikus állandók
- PHP rekurzív funkció
- Példák a PHP karakterlánc-funkciókra
- Útmutató a Socket Programozáshoz Java-ban