¿Qué es el socket y sus características?

Importancia del enchufe

Este artículo necesita citas adicionales para su verificación. Por favor, ayude a mejorar este artículo añadiendo citas de fuentes fiables. El material sin fuente puede ser cuestionado y eliminado.Buscar fuentes:  “Network socket” – noticias – periódicos – libros – scholar – JSTOR (noviembre de 2017) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)

Un socket de red es una estructura de software dentro de un nodo de red de un ordenador que sirve como punto final para enviar y recibir datos a través de la red. La estructura y las propiedades de un socket están definidas por una interfaz de programación de aplicaciones (API) para la arquitectura de red. Los sockets se crean sólo durante la vida de un proceso de una aplicación que se ejecuta en el nodo.

Debido a la estandarización de los protocolos TCP/IP en el desarrollo de Internet, el término socket de red se utiliza más comúnmente en el contexto del conjunto de protocolos de Internet, y por lo tanto a menudo también se denomina socket de Internet. En este contexto, un socket se identifica externamente a otros hosts por su dirección de socket, que es la tríada de protocolo de transporte, dirección IP y número de puerto.

Tipos de enchufes

Un socket se define como un enlace para la comunicación bidireccional de los programas que se ejecutan en la red. El socket se construye con un número de puerto que hace que la capa de TCP encuentre la aplicación de datos donde tiene que llegar la información. El socket es un punto final que fusiona tanto los números de puerto como las direcciones IP. La programación del socket se hace para conectar nodos en la red para una mejor interacción. Un nodo sigue el puerto correspondiente de una IP mientras que el otro nodo se extiende para establecer una conexión. Entonces forman un servidor con un socket de escucha mientras que el cliente llega a su manera para conectarse con el servidor. Los diferentes tipos de socket se discuten en este artículo.

En términos de software, el socket se comporta como un punto final que establece una red bidireccional con un enlace de comunicación entre el cliente y el servidor. En UNIX, dentro del sistema operativo, el socket se denomina como un punto final de comunicación entre procesos. Hay muchos enchufes en el mercado que están diseñados según las necesidades, como por ejemplo, el enchufe hexagonal se utiliza para encajar el tornillo y la tuerca, y el E Torx se utiliza para el paso de la carraca.

Socket en os

Socket en la red informáticaUn socket es un punto final de un enlace de comunicación bidireccional entre dos programas que se ejecutan en la red. El mecanismo de socket proporciona un medio de comunicación entre procesos (IPC) mediante el establecimiento de puntos de contacto nombrados entre los que la comunicación tiene lugar. El socket proporciona una facilidad de comunicación FIFO bidireccional a través de la red. En cada extremo de la comunicación se crea un socket que se conecta a la red. Cada socket tiene una dirección específica. Esta dirección está compuesta por una dirección IP y un número de puerto. El servidor crea un socket, lo asocia a una dirección de puerto de la red y luego espera que el cliente se ponga en contacto con él. El cliente crea un socket y luego intenta conectarse al socket del servidor. Cuando se establece la conexión, se produce la transferencia de datos.Tipos de Sockets :Hay dos tipos de Sockets: el socket de datagramas y el socket de flujos.Función Llamada Descripción Crear()Para crear un socketEnlazar()Es una identificación del socket como un número de teléfono para contactarEscuchar()Listo para recibir una conexión Conectar()Listo para actuar como emisor Aceptar()Confirmación, es como aceptar recibir una llamada de un emisor Escribir()Para enviar datos Leer()Para recibir datos Cerrar()Para cerrar una conexiónMis notas personales

Cómo funcionan los sockets

Los tutoriales de Java han sido escritos para el JDK 8. Los ejemplos y las prácticas que se describen en esta página no aprovechan las mejoras introducidas en versiones posteriores y pueden utilizar tecnología que ya no está disponible.Consulte los cambios en el lenguaje de Java para obtener un resumen de las características actualizadas del lenguaje en Java SE 9 y las versiones posteriores.Consulte las notas de la versión del JDK para obtener información sobre las nuevas características, las mejoras y las opciones eliminadas o obsoletas de todas las versiones del JDK.

En el lado del cliente: El cliente conoce el nombre de host de la máquina en la que se ejecuta el servidor y el número de puerto en el que el servidor está escuchando. Para realizar una solicitud de conexión, el cliente intenta encontrarse con el servidor en la máquina y el puerto del servidor. El cliente también necesita identificarse ante el servidor, por lo que se vincula a un número de puerto local que utilizará durante esta conexión. Éste suele ser asignado por el sistema.

Si todo va bien, el servidor acepta la conexión. Una vez aceptada, el servidor obtiene un nuevo socket vinculado al mismo puerto local y también tiene su punto final remoto configurado con la dirección y el puerto del cliente. Necesita un nuevo socket para poder seguir escuchando el socket original para las peticiones de conexión mientras atiende las necesidades del cliente conectado.