Programación de sockets en PHP - Método de clase diferente con ejemplos

Tabla de contenido:

Anonim

Introducción a la programación de sockets en PHP

Todos los lenguajes de programación proporcionan el mecanismo para implementar la comunicación del servidor y el cliente. Según este mecanismo, la aplicación permite que el servidor y el cliente intercambien datos entre ellos. Similar a los otros lenguajes de programación, PHP también nos proporciona este mecanismo. La programación de sockets se puede definir como el enfoque de programación que tiene el servidor y el cliente como la aplicación donde se debe establecer una conexión entre ambos para facilitar la comunicación entre ellos. En términos de PHP, también nos permite implementar el concepto de programación de socket. En este artículo, aprenderemos cómo implementar esta programación de socket usando el lenguaje de programación PHP.

Métodos de clase de socket

Los métodos de clase de socket son las funciones especiales que nos permiten implementar la programación de socket. El programa que debe escribirse para llevar las funcionalidades de la programación de socket utiliza las funciones de socket predefinidas. Estas funciones consisten en las declaraciones que desempeñan el papel real en la programación del socket. A continuación se muestran algunas de las funciones de socket.

  • Socket_accept: esta es una de las funciones de socket muy comunes que se utilizan para aceptar una conexión en un socket. La función principal de esta función es permitir que se acepte la conexión cada vez que se recibe una solicitud.
  • Socket_addrinfo_bind: esta función se utiliza para agregar la información proporcionada al socket. La información aceptada debe asignarse al socket para facilitar su implementación.
  • Socket_clear_error: esta función se utiliza para borrar el error que está en el socket. Además de eso, esta función también borra el error en el último código.
  • Socket_close: como su nombre lo indica, esta función se usa para cerrar el recurso que pertenece al socket.
  • Socket_connect: este método se utiliza para crear una conexión de socket. En la programación del socket, el programa comienza con el establecimiento de la conexión que se puede hacer usando esta función.
  • Socket_create: este método se refiere a la creación del socket. El socket creado con este método funciona como el punto final de la conexión.
  • Socket_create_listen: esta función se utiliza para que el socket abra el puerto especificado que acepta la conexión. Como su nombre lo indica, ayuda a abrir el zócalo para escuchar.
  • Socket_create_pair: este método generalmente se usa en la aplicación que necesita para usar la parte compleja de la programación de socket. Ayuda en la creación de los zócalos indistinguibles y los que se almacenan en la matriz.
  • Socket_get_option: este método se utiliza para obtener las opciones para el socket. Un zócalo se compone de varias opciones que deben usarse de acuerdo con la aplicación. Al usar este método, podemos obtener todas esas opciones que tiene un socket.
  • Socket_getsockname: este método se utiliza para consultar la región local del socket seleccionado y, a cambio, puede obtener los detalles relacionados con el host / puerto o la ruta del sistema de archivos Unix. Cualquier resultado que obtenga depende totalmente del tipo.

Ejemplo de Socket Client

En esta sección, veremos el código que se usará para implementar la programación del socket del lado del cliente. El ejemplo mencionado a continuación tendrá la publicación y los detalles del host que se utilizarán para crear la conexión de socket. Una vez que se establece la conexión, intercambia algunos de los mensajes y espera una respuesta del servidor.

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

En el ejemplo anterior, el número de puerto es 1230 en el que el programa intenta conectarse. La dirección IP del host será la IP del host local. Si alguien está dispuesto a interactuar con el servidor remoto, puede mencionar la dirección IP del servidor. Luego, el mensaje se enviará al servidor que se mostrará en la página de respuesta. La creación del socket se procesará después. En este programa, hay un mecanismo adecuado para manejar el error mediante el método de morir. Si algo salió mal en ese caso, el método del dado se revoca y aparece el mensaje que aparece en él.

Ejemplo de servidor de sockets

El ejemplo detallado en esta sección tendrá los códigos PHP que se aprovecharán para implementar la programación del socket en el lado del servidor. Los detalles de la IP y el número de puerto utilizado en el último ejemplo seguirán siendo los mismos en este ejemplo también. La principal diferencia en este ejemplo será la diferencia principal que lo separa del lenguaje de programación de socket del lado del cliente. Permite procesar para comprender el código PHP para la programación de sockets del lado del servidor.

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

En el ejemplo anterior, el programa ha sido desarrollado para funcionar en el host local. La dirección IP mencionada aquí pertenece al localhost y el número de puerto puede ejecutar el servicio TCP y UDP. El paso inicial es siempre la creación del socket, ya que es algo que se utilizará en todo el programa. Más tarde, el socket se ha unido con los valores especificados que ayudarán a funcionar. Los métodos utilizados en este programa tienen el significado predefinido que se puede utilizar para un propósito específico. Una vez que todo vaya bien, el programa funcionará en consecuencia y eventualmente cerrará la conexión del socket.

Conclusión: programación de sockets en PHP

El lenguaje de programación de socket se utiliza para permitir que la aplicación funcione en el servidor y el modelo del cliente. Este enfoque de programación nos permite establecer la conexión entre el servidor y el cliente para facilitar el intercambio de datos. Para hacer que la programación del socket sea fácil y conveniente, PHP ha proporcionado los métodos predefinidos donde todos los métodos tienen asignadas algunas tareas únicas.

Artículos recomendados

Esta es una guía para la programación de sockets en PHP. Aquí discutimos los métodos que nos permiten implementar la programación de socket y cómo permite que el servidor y el cliente intercambien datos entre ellos. También puede consultar nuestros otros artículos relacionados para obtener más información:

  1. Introducción a la encapsulación en PHP
  2. Constructor en PHP | Tipos de constructor
  3. ¿Qué es anular en PHP?
  4. PHP Magic Constants
  5. Función recursiva de PHP
  6. Ejemplos de funciones de cadena PHP
  7. Guía para la programación de sockets en Java