Einführung in die Socket-Programmierung in PHP
Alle Programmiersprachen bieten den Mechanismus zur Implementierung der Server- und Client-Kommunikation. Gemäß diesem Mechanismus ermöglicht die Anwendung dem Server und dem Client, Daten zwischen ihnen auszutauschen. Ähnlich wie die anderen Programmiersprachen stellt uns PHP diesen Mechanismus zur Verfügung. Socket-Programmierung kann als der Ansatz der Programmierung definiert werden, bei dem der Server und der Client als Anwendung fungieren und eine Verbindung zwischen beiden hergestellt werden muss, um die Kommunikation zwischen ihnen zu erleichtern. In Bezug auf PHP können wir damit auch das Konzept der Socket-Programmierung implementieren. In diesem Artikel erfahren Sie, wie Sie diese Socket-Programmierung mit der Programmiersprache PHP implementieren.
Socket-Klassenmethoden
Die Socket-Klassenmethoden sind die speziellen Funktionen, mit denen wir die Socket-Programmierung implementieren können. Das Programm, das geschrieben werden muss, um die Funktionen der Socket-Programmierung zu nutzen, verwendet die vordefinierten Socket-Funktionen. Diese Funktionen bestehen aus den Anweisungen, die die eigentliche Rolle bei der Socket-Programmierung übernehmen. Im Folgenden sind einige der Socket-Funktionen aufgeführt.
- Socket_accept: Dies ist eine der gebräuchlichsten Socket-Funktionen, mit denen eine Verbindung auf einem Socket akzeptiert wird. Die Hauptaufgabe dieser Funktion besteht darin, die Verbindung bei jedem Treffer einer Anfrage akzeptieren zu lassen.
- Socket_addrinfo_bind: Mit dieser Funktion werden die bereitgestellten Informationen zum Socket hinzugefügt. Die akzeptierten Informationen müssen dem Socket zugewiesen werden, um dessen Implementierung zu erleichtern.
- Socket_clear_error: Mit dieser Funktion wird der Fehler im Socket gelöscht . Darüber hinaus löscht diese Funktion auch den Fehler im letzten Code.
- Socket_close: Wie der Name schon sagt, wird diese Funktion verwendet, um die Ressource zu schließen, die zum Socket gehört.
- Socket_connect: Mit dieser Methode wird eine Socket-Verbindung hergestellt. Bei der Socket-Programmierung beginnt das Programm mit dem Verbindungsaufbau, der mit dieser Funktion durchgeführt werden kann.
- Socket_create: Diese Methode befasst sich mit der Erstellung des Sockets . Der mit dieser Methode erstellte Socket fungiert als Endpunkt der Verbindung.
- Socket_create_listen: Mit dieser Funktion wird der Socket an dem angegebenen Port geöffnet, der die Verbindung akzeptiert. Wie der Name schon sagt, hilft es beim Öffnen der Buchse zum Abhören.
- Socket_create_pair: Diese Methode wird normalerweise in der Anwendung verwendet, die den komplexen Teil der Socket-Programmierung verwenden muss. Es hilft bei der Erstellung der nicht unterscheidbaren Sockets und diese werden im Array gespeichert.
- Socket_get_option: Diese Methode wird verwendet, um die Optionen für den Socket abzurufen . Eine Steckdose besteht aus mehreren Optionen, die je nach Anwendung verwendet werden müssen. Mit dieser Methode erhalten wir alle Optionen, die ein Socket hat.
- Socket_getsockname: Mit dieser Methode wird die lokale Region des ausgewählten Sockets abgefragt, und im Gegenzug werden möglicherweise die Details zum Host / Port oder zum Pfad des Unix-Dateisystems abgerufen. Welches Ergebnis dabei erzielt wird, hängt völlig vom Typ ab.
Socket Client Beispiel
In diesem Abschnitt sehen wir den Code, der zur Implementierung der clientseitigen Socket-Programmierung verwendet wird. Das unten erwähnte Beispiel enthält die Post- und Host-Details, die zum Erstellen der Socket-Verbindung verwendet werden. Sobald die Verbindung hergestellt ist, werden einige der Nachrichten ausgetauscht und eine Antwort vom Server erwartet.
<_?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);
?>
Im obigen Beispiel lautet die Portnummer 1230, über die das Programm versucht, eine Verbindung herzustellen. Die IP-Adresse des Hosts ist die IP des lokalen Hosts. Wenn jemand bereit ist, mit dem Remote-Server zu interagieren, kann er die IP-Adresse des Servers angeben. Anschließend wird die Nachricht an den Server gesendet, der auf der Antwortseite angezeigt wird. Die Socket-Erstellung wird anschließend verarbeitet. In diesem Programm gibt es einen geeigneten Mechanismus, um den Fehler mit der Die-Methode zu behandeln. Wenn in diesem Fall etwas schief gelaufen ist, wird die Würfelmethode widerrufen und die darin angegebene Meldung wird angezeigt.
Socket Server Beispiel
In dem in diesem Abschnitt beschriebenen Beispiel werden die PHP-Codes verwendet, um die Socket-Programmierung auf der Serverseite zu implementieren. Die Details der IP und der Portnummer, die im letzten Beispiel verwendet wurden, bleiben auch in diesem Beispiel gleich. Der Hauptunterschied in diesem Beispiel ist der Kernunterschied, der es von der clientseitigen Socket-Programmiersprache trennt. Ermöglicht das Verständnis des PHP-Codes für die serverseitige Socket-Programmierung.
<_?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);
?>
Im obigen Beispiel wurde das Programm so entwickelt, dass es im localhost funktioniert. Die hier erwähnte IP-Adresse gehört zum localhost und die Portnummer kann den TCP- und UDP-Dienst darauf ausführen. Der erste Schritt ist immer die Erstellung des Sockets, da dieser im gesamten Programm verwendet wird. Später wurde die Buchse mit den angegebenen Werten verbunden, was die Funktion erleichtert. Die in diesem Programm verwendeten Methoden haben die vordefinierte Bedeutung, die für einen bestimmten Zweck verwendet werden kann. Sobald alles gut geht, wird das Programm entsprechend funktionieren und wird die Socket-Verbindung schließlich schließen.
Fazit - Socket-Programmierung in PHP
Mit der Programmiersprache Socket kann die Anwendung auf dem Server und dem Client-Modell ausgeführt werden. Durch diesen Programmieransatz können wir die Verbindung zwischen Server und Client herstellen, um den Datenaustausch zu erleichtern. Um die Socket-Programmierung einfach und bequem zu machen, hat PHP die vordefinierten Methoden bereitgestellt, denen alle Methoden einige eindeutige Aufgaben zugewiesen haben.
Empfohlene Artikel
Dies ist eine Anleitung zur Socket-Programmierung in PHP. Hier diskutieren wir die Methoden, mit denen wir die Socket-Programmierung implementieren können, und wie Server und Client Daten zwischen ihnen austauschen können. Sie können sich auch unsere anderen verwandten Artikel ansehen, um mehr zu erfahren -
- Einführung in die Kapselung in PHP
- Konstruktor in PHP | Arten von Konstruktoren
- Was ist Überschreiben in PHP?
- PHP Magic-Konstanten
- PHP rekursive Funktion
- Beispiele für PHP-String-Funktionen
- Anleitung zur Socket-Programmierung in Java