Sunteți pe pagina 1din 5

Glosario

Protocolo de red: Conjunto de normas standard que especifican el método para enviar y recibir
datos entre varios ordenadores.

TCP: Uno de los principales protocolos de la capa de transporte del modelo TCP/IP, es orientado a
conexión, es decir, que permite que dos máquinas que están comunicadas controlen el estado de
la transmisión.

IP: Número único e irrepetible con el cual se identifica una computadora conectada a una red que
corre el protocolo IP.

TCP/IP: Es un protocolo para comunicación en redes que permite que un equipo pueda
comunicarse dentro de una red.

UDP: Protocolo de Datagrama de Usuario, un protocolo sin conexión que, como TCP, funciona en
redes IP.

Servidor: Programa que ofrece un servicio especial que otros programas denominados clientes.

Cliente: Aplicación informática o un ordenador que consume un servicio remoto en otro


ordenador conocido como servidor.

Red: Conjunto de dispositivos interconectados entre sí a través de un medio, que intercambian


información y comparten recursos.

Puerto de red: Transmiten y reciben comunicaciones de datos entre el dispositivo y las fuentes
externas.

Java: Lenguaje de programación y una plataforma informática

Clases: Plantillas para la creación de objetos

Introducción
Sockets
Actualmente la mayoría de ellos procesos que ejecuta una computadora se basan
en la obtención y el envió de información a otros procesos que se encuentran en
una computadora diferente. Para realizar esto es necesario la aplicación de
protocolos de comunicación como el TCP y UDP.
Los Sockets son una forma de comunicar procesos encontrados en distintas
maquinas de una red, estos proporcionan un punto de comunicación por el cual se
puede enviar y recibir información. También cuentan con un ciclo de vida
dependiendo si son sockets de servidor, que esperan a un cliente para establecer
una comunicación, o socket cliente que busca a un socket de servidor para
establecer la comunicación.
Pueden ser vistos como un método para la comunicación entre el programa del
cliente y el programa del servidor en una red; el punto final en una conexión.
Un socket es también una dirección de Internet, combinando una dirección IP y un
número de puerto.

Desarrollo
Principio
Un socket está definido por un
par de direcciones IP local y
remota, un protocolo de
transporte y un par de números
de puerto local y remoto. Para
que dos programas puedan
comunicarse entre sí es
necesario que se cumplan ciertos
requisitos:
 Los programas deben
localizarse entre sí.
 Ambos programas pueden
intercambiar cualquier
secuencia.
Para utilizar un socket se
necesita de tres recursos
originarios: un protocolo de
comunicación, un par de
direcciones del Protocolo de Red, Ilustración 1. Bonilla (2012). Sockets. Recuperado de
http://dsp.mx/blog/sistemas-de-informacion/49-sockets-tcp-udp
la computadora de origen y la
remota, y un par de números de
puerto.
Los sockets permiten implementar una arquitectura cliente-servido. La
comunicación se inicia en el programa cliente. El segundo programa espera a que
otro inicie la comunicación, el programa servidor.
Cuando un cliente conecta con el servidor se crea un nuevo socket, de esta forma,
el servidor puede seguir esperando conexiones en el socket principal y
comunicarse con el cliente conectado, de igual manera se establece un socket en
el cliente en un puerto local.
Una aplicación servidor normalmente escucha por un puerto específico esperando
una petición de conexión de un cliente, una vez que se recibe, el cliente y el
servidor se conectan de forma que les sea posible comunicarse entre ambos.
Durante este proceso, el cliente es asignado a un número de puerto, mediante el
cual envía peticiones al servidor y recibe de este las respuestas correspondientes.
Similarmente, el servidor obtiene un nuevo número de puerto local que le servirá
para poder continuar escuchando cada petición de conexión del puerto original. De
igual forma une un socket a este puerto local.

Fases
o Creación, apertura del socket
o Lectura y Escritura, recepción y envío de datos por el socket
o Destrucción, cierre del socket
Tipos de Socket
 SOCK_STREAM: está asociado al protocolo TCP, este brinda seguridad en
la transmisión de datos, seguridad en la recepción, en la integridad y en la
secuencia, entre otros.
 SOCK_DGRAM: está asociado al protocolo UDP, e indica que los paquetes
viajarán en tipo datagramas, el cual tiene una comunicación asíncrona.
Propiedades
Estas dependen del protocolo que se a implementado, principalmente se realizan
con TCP/IP.
Los sockets son:
o Orientados a conexión
o Garantizan la trasmisión de datos sin errores ni omisiones
o Garantiza que los datos llegaran en el mismo orden que fueron enviados

Sockets en java
El lenguaje de programación JAVA incluye la biblioteca Java.net que proporciona
tanto los sockets TCP como UDP, nos provee dos clases: Socket para
implementar la conexión desde el lado del cliente y ServerSocket que nos
permitirá manipular la conexión desde el lado del servidor.
El cliente como el servidor no necesariamente deben estar implementados en
Java, solo deben conocer sus direcciones IP y el puerto por el cual se
comunicarán.
El ejemplo más básico consta de 2 programas:
1. Servidor: Un servidor y un cliente. Básicamente el programa servidor
comienza a “escuchar” en un puerto determinado.
2. El cliente debe saber la IP o el nombre de domino del servidor y el puerto que
está escuchando, al saber esto simplemente solicita establecer una conexión
con el servidor. Es aquí cuando el servidor acepta esa conexión y se puede
decir que estos programas establecen una conexión, de este modo pueden
intercambiar información.

Clases
Ya se habían mencionado 2 clases utilizadas para los sockets en java. Estas son
algunas de las más importantes en clasificación:
COMUNICACIÓN CON CONEXIÓN: TCP
 clase Socket: Utilizado por los clientes, un socket es uno de los extremos
en la comunicación entre dos máquinas
 clase ServerSocket: Utilizado por el servidor, un socket del servidor espera
a que una solicitud provenga de la red; lleva a cabo determinadas
operaciones basadas en la solicitud recibida; y entonces, posiblemente,
retorna un resultado al solicitante.
COMUNICACIÓN SIN CONEXIÓN (DATAGRAMAS): UDP
o clase DatagramSocket: Esta clase representa un socket para enviar y
recibir paquetes datagrama.
o clase DatagramPacket: Los paquetes datagramas son usados para
implementar el servicio de entrega de paquetes sin conexión. Cada
mensaje es enrutado desde una máquina a otra con base en la información
contenida dentro del paquete, únicamente. Cuando se envían múltiples
paquetes de una máquina a otra, estos pueden seguir diferentes rutas, y
pueden llegar en cualquier orden. La entrega de paquetes no está
garantizada.
DIFUSIÓN DE DATAGRAMAS: MULTICAST
 clase MulticastSocket
Esta es la forma en como se utilizan las clases TCP, las cuales son las más
utilizadas:
Conclusión
La utilización de los sockets es de mucha importancia cuando se hablan de
sistemas distribuidos, en el caso de sockets de Java, es muy útil para la
realización de un programa donde interactúa un cliente y un servidor. La existencia
de las clases es de mucha ayuda, y facilita la elaboración de estos programas,
además de que existe una clasificación para poder usarlas de acuerdo al protocolo
que planeamos utilizar.

Referencias

Bonilla, I. (07 de Noviembre de 2012). DSP. Obtenido de Sockets: Protocolos de


comunicación TCP y UDP: http://dsp.mx/blog/sistemas-de-informacion/49-
sockets-tcp-udp
DISCA / UPV. (2019). Poliformat. Obtenido de
https://poliformat.upv.es/access/content/group/OCW_6069_2008/T2.-
Comunicación%20I%3A%20del%20C_S%20al%20modelo%20de%20objet
os/Tecnología%20JAVA/Java-sockets.pdf
ECURED. (3 de Septiembre de 2019). Socket. Obtenido de
https://www.ecured.cu/Socket
Infor.UVA. (2019). INFOR. Obtenido de
https://www.infor.uva.es/~fdiaz/sd/doc/java.net.pdf
masadelante. (2019). ¿Que es un Socket? - Definición de Socket. Obtenido de
https://www.masadelante.com/faqs/socket
ProgramarYa. (2018). Curso De Java Avanzado. Obtenido de Usando sockets en
Java. : https://www.programarya.com/Cursos-Avanzados/Java/Sockets

S-ar putea să vă placă și