All the programming languages provide the mechanism to implement the server and client communication. As per this mechanism, the application enables the server and the client to exchange data between them. Similar to the other programming languages, PHP also provides us with this mechanism. Socket programming can be defined as the programming approach that has the server and the client as the application where a connection has to be established between both of them to facilitate the communication between them. In terms of PHP, it also lets us implement the concept of socket programming. In this article, we will learn how to implement this socket programming using the PHP programming language.
ADVERTISEMENT Popular Course in this category PROGRAMMING LANGUAGES - Specialization | 54 Course Series | 4 Mock TestsStart Your Free Software Development Course
Web development, programming languages, Software testing & others
The socket class methods are the special functions that let us implement the socket programming. The program that has to be written in order to bring the functionalities of socket programming uses the predefined socket functions. These functions consist of the statements that perform the actual role in socket programming. Below are some of the socket functions.
This section will see the code that will be used to implement the client-side socket programming. The example mentioned below will be having the post and the host details that will be used to create the socket connection. One the connection is established, it exchanges some of the messages and expects a response from the server.
<?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); ?>
In the above example, the port number is 1230 in which the program tries to connect. The IP address of the host will be the localhost’s IP. If anyone is willing to interact with the remote server, they can mention the server’s IP address. Then the message will be sent to the server that will be shown on the response page. The socket creation will be processed afterward. In this program, there is a proper mechanism to handle the error by using the die method. If anything went wrong, in that case, the die method gets revoked, and the message given in that pops up.
The example detailed in this section will be having the PHP codes that will be leveraged to implement the socket programming at the server-side. The details of the IP and the port number used in the last example will remain the same in this example as well. This example’s main difference will make the core difference that separates it from the client-side socket programming language. Lets process to understand the PHP code for server-side socket programming.
<?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); ?>
In the above example, the program has been developed to work in the localhost. The IP address mentioned here belongs to the localhost, and the port number can run the TCP and UDP service on that. The initial step is always the creation of the socket, as it is something that will be used throughout the program. Later the socket has been bonded with the specified values, which will help in functioning. The methods used in this program have a predefined meaning that can be used for a specific purpose. Once everything goes well, the program will work accordingly and will close the socket connection eventually.
The socket programming language is used to let the application work on the server and the client model. This approach of programming lets us establish the connection between the server and the client so that the exchange of the data could be facilitated. To make the socket programming easy and convenient, PHP has provided predefined methods where all the methods have some unique tasks assigned to them.
The above is the detailed content of Socket Programming in PHP. For more information, please follow other related articles on the PHP Chinese website!