Saltar al contenido

Definición de Socket

Socket

Un socket es un mecanismo que permite la conexión entre distintos procesos, habitualmente se utilizan para establecer comunicaciones entre distintas máquinas que estén conectadas a través de la red.

Cuando utilizamos Sockets para comunicar procesos nos basamos en la arquitectura cliente y servidor. Así pues, estableceremos dos Sockets uno será la parte servidor y recibirá la transmisión del cliente y otro será la parte cliente que recibirá la respuesta del servidor.

Cómo funciona un Socket

El siguiente procedimiento muestra cómo funciona un Socket:

Primero: Tenemos que poner en funcionamiento el proceso que se encargará de recibir los datos, el cual estará a la espera de recibir la comunicación del cliente.

Segundo: Ejecutamos el proceso cliente, que será un socket encargado de enviar datos al servidor que se encuentra esperando nuestra conexión.

Tercero: Por último, el cliente realizará una petición al servidor y el servidor gestionará la respuesta que quiere darle. Y finalmente, el cliente recibirá la respuesta del servidor.

Tipos de Socket

Dependiendo el protocolo con el que vamos a realizar la conexión, tendremos dos tipos de Socket, los que utilizan el protocolo TCP, y los que utilizan el protocolo UDP.

El protocolo TCP tiene las siguientes características:

– Está orientado a la conexión.
– Garantiza la correcta transmisión de los ficheros.
– Mantiene el orden de los ficheros en la transmisión.
– Cuando llegan los paquetes el receptor emite un mensaje de recepción (ACK).

El protocolo UDP tiene las siguientes características:

– No está orientado a la conexión.
– Los datagramas o paquetes pueden viajar en cualquier orden.
– No garantiza que lleguen todos los paquetes.

En este artículo puedes ver un ejemplo de socket hecho en Java.