0% encontró este documento útil (0 votos)
16 vistas13 páginas

Sesión 4-3 - Sockets

El documento describe la comunicación cliente-servidor utilizando sockets, destacando su importancia en sistemas operativos distribuidos. Se explica cómo los sockets permiten la comunicación bidireccional entre programas en una red, así como su implementación en Java. Además, se abordan los roles del cliente y servidor, el ciclo de vida de una conexión y ejemplos de aplicaciones que utilizan este modelo.

Cargado por

walter renteria
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
16 vistas13 páginas

Sesión 4-3 - Sockets

El documento describe la comunicación cliente-servidor utilizando sockets, destacando su importancia en sistemas operativos distribuidos. Se explica cómo los sockets permiten la comunicación bidireccional entre programas en una red, así como su implementación en Java. Además, se abordan los roles del cliente y servidor, el ciclo de vida de una conexión y ejemplos de aplicaciones que utilizan este modelo.

Cargado por

walter renteria
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

COMUNICACIÓN.

COMUNICACIÓN CON CLIENTE SERVIDOR


(SOCKETS).
Comunicación

• Los servicios de comunicación son típicos servicios


de red, pero en caso de los SOD(Sistema Operativo
Distribuido) son más especializados en ciertas
áreas.

• Los SOD utilizan «comunicación en grupo» esto


permite a todos los computadores del sistema
trabajar como un solo elemento de la red.

• SOD tienen comunicación por medio de SOCKETS


son paso de mensajes que permiten verificar cual
equipo está disponible.
Comunicación Cliente-Servidor
(Sockets).
• Cliente-Servidor es el modelo que
actualmente domina el ámbito de
comunicación, ya que descentraliza
los procesos y los recursos.

• Servicios como:
• - Ejecución de un programa.
• - Acceso a una Base de Datos.
• - Acceso a un dispositivo de
Hardware.
Comunicación Cliente-Servidor
(Sockets).
• Un socket es un punto final en una
comunicación bidireccional entre dos programas
que se ejecutan en una red.
• Permite a un programa enviar y recibir datos
desde otro programa a través de la red.
• Los sockets se utilizan comúnmente en la
comunicación cliente-servidor.
• Cada socket tiene una dirección IP y un número
de puerto, lo que lo hace único en la red.
Comunicación Cliente-Servidor
(Sockets).
• Para lograr tener un SOCKET para la comunicación e
intercambio de información se necesita:

1.- Que un programa sea capaz de localizar al otro.


2.- Que ambos programas sean capaces de
intercambiar información
Sockets en Java: Creación de
Sockets
En Java, se pueden crear dos tipos de sockets:

1. Socket: utilizado por el cliente para conectarse a un servidor.


2. ServerSocket: utilizado por el servidor para escuchar
conexiones entrantes.

• Ejemplo de código para crear un socket de cliente:

Socket cliente = new Socket("127.0.0.1", 5000);


• Ejemplo de código para crear un socket de servidor:

ServerSocket servidor = new ServerSocket(5000);


Socket socketServidor = servidor.accept();
Sockets en Java: Flujos de Entrada
y Salida
Los flujos de entrada y salida permiten la transmisión de datos a través de un socket.

• OutputStream se utiliza para enviar datos desde el cliente/servidor.


• InputStream se utiliza para recibir datos en el cliente/servidor.

• Ejemplo de envío de datos desde el servidor:

OutputStream salida = socketServidor.getOutputStream();


salida.write("Hola desde el servidor".getBytes());

• Ejemplo de recepción de datos en el cliente:

InputStream entrada = cliente.getInputStream();


byte[ ] buffer = new byte[1024];
entrada.read(buffer);
Modelo Cliente-Servidor:
Roles del Cliente y Servidor
• Cliente Programa que inicia la comunicación solicitando un servicio o recurso.

• Servidor: Programa que escucha las solicitudes del cliente y proporciona los
recursos o servicios solicitados.

• Ejemplo: Un navegador web (cliente) solicita una página HTML a un servidor


web.

• Ventajas del modelo cliente-servidor:

1. Centralización de recursos.
2. Escalabilidad.
3. Mantenimiento más sencillo.
Modelo Cliente-Servidor: Ciclo de
vida de una conexión
• • **Establecimiento de la conexión**:
• - El cliente inicia una conexión con el servidor.
• • **Intercambio de datos**:
• - Se envían y reciben datos a través de la conexión.
• • **Cierre de la conexión**:
• - Una vez finalizada la comunicación, la conexión se
cierra.

• • Ejemplo: Un cliente solicita datos de un servidor de base


de datos, los recibe, y luego cierra la conexión.
Ejemplos de Aplicaciones Cliente-
Servidor
• Navegadores Web y Servidores Web

- El navegador solicita páginas HTML, imágenes, etc., y el servidor


responde con los datos solicitados.

• Aplicaciones de Correo Electrónico

- Los clientes de correo (como Outlook) se conectan a servidores de


correo para enviar y recibir mensajes.

• Servicios de Mensajería Instantánea

- Aplicaciones como WhatsApp funcionan bajo el modelo cliente-servidor,


donde el cliente envía mensajes que el servidor reenvía al destinatario.
Comunicación Cliente-Servidor
(Sockets).
EJEMPLO
GRACIAS POR SU ATENCIÓN.

También podría gustarte