Andres Marín L. Programación sockets en java.

Slides:



Advertisements
Presentaciones similares
La mayor Comunidad de difusión del conocimiento PROTOCOLO TELNET
Advertisements

Curso de Java Java – Redes Rogelio Ferreira Escutia.
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
PROTOCOLOS AUTOR: FERNANDO LIMA. PROTOCOLOS DE RED.
Programación Interactiva Aplicaciones Cliente-Servidor
Trabajo Practico Grupo 1 NFS – TCP - UDP
Sockets y Threads en JAVA
SOCKETS INTRODUCCIÓN DEFINICIÓN TIPOS DE SOCKETS USO DE SOCKETS.
Introducción a Programación Concurrente
Ingeniería en Automática Industrial Software para Aplicaciones Industriales I Ingeniería en Automática Industrial Software para Aplicaciones Industriales.
Objetivos Describir la forma en que las redes impactan nuestras vidas diarias. Describir el rol del trabajo en red en la actualidad. Identificar los componentes.
PROTOCOLOS Un protocolo es un conjunto de reglas que hacen que la comunicación en una red sea más eficiente.
Almacenamiento virtual de sitios web: «Hosts» virtuales Gustavo Antequera Rodríguez.
Servidor de Batalla Naval.
El Socket Un socket es un extremo de un link de comunicación entre dos programas que corren en una red. El socket esta asociado (amarrado, bound) a ub.
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Christophe Fontano Julien Alagnou Socket.
Sockets en Java. Sockets ● Para programar aplicaciones en red en Java se utilizan los Sockets. ● Un socket permite establecer y manejar una conexión entre.
INTEGRANTES: MARTINEZ MISHELL MEDINA ENID MENENDEZ EVELYN INTEGRANTES: MARTINEZ MISHELL MEDINA ENID MENENDEZ EVELYN.
Arquitectura - 3er Parcial. Asignaturas para Arquitectura – 3er Parcial.  Diseño del modelo de red (clase networking).  Implementacion del modelo de.
MRMUC Instructor Notes
1 Chat de salón 1.Enunciado del problema 2.Modelo cliente/servidor 3.Protocolo de comunicación con el servidor. 4.Chat privado 5.Diseño del cliente 6.Diseño.
Cliente/Servidor ● Normalmente queremos algo más que conectarnos a un servidor ● El servidor nos va a dar un servicio ● Protocolo – Orden y tipo de datos.
Organizado por Agustina Tenenbaum Justina Garayzabal.
SOCKETS.
1 Nivel aplicación Interacción Cliente Servidor Agustín J. González ELO309.
AXEL LATORRE GABRIEL VALENZUELA GIAN PAOLO ALMEIDA ROMMEL CHIFLA ISABEL VILLEGAS INTEGRANTES.
Socket en.NET Grupo # 5. ¿Qué es un Socket? Es la relación entre un puerto de un equipo y el puerto de otro equipo. ¿Qué es un puerto? Es el medio por.
Sockets. / Los sockets (zócalos, referido a los enchufes de conexión de cables) son mecanismos de comunicación entre programas a través de una red TCP/IP.
TCP/IP Introducción TCP/IP Introducción. TCP/IP vs OSI Aplicación Presentación Sesión Transporte Red Enlace Física Aplicación Acceso a la red Física TCP/IP.
RESUMEN CAPITULO 6.
2: Capa Aplicación 1 Capítulo 2: Capa Aplicación  2.1 Principios de la aplicaciones de red  2.2 Web y HTTP  2.3 FTP  2.4 Correo Electrónico  SMTP,
1 Capítulo 21: Interacción Cliente Servidor ICD 327: Redes de Computadores Agustín J. González.
ELO3091 Interfaz de Socket Agustín J. González ELO309.
(PUERTA DE ENLACE O PASARELA) Jhon Alexander Serrano López
User Datagram Protocol UDP Juan Pablo Araneda Danilo Araya Z.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Capa Transporte3-1 Capítulo 3: Capa transporte ELO322: Redes de Computadores Agustín J. González Este material está basado en el material preparado como.
Universidad de Chile - Tupper 2007, Santiago - Fono: Fax: Módulo 9: Desarrollo de Aplicaciones.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Capa Transporte1 Capítulo 3: Capa Transporte - I ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
2: Capa Aplicación 1 Capa Aplicación: Programación de sockets ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material.
Universidad de Chile - Tupper 2007, Santiago - Fono: Fax: Módulo 9: Desarrollo de Aplicaciones.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
LABORATORIO DE ESTRUCTURA DE COMPUTADORES II Desarrollo de aplicación Cliente-Servidor.
2: Capa Aplicación 1 Capa Aplicación: File Transfer Protocol ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material.
Christian Zurita Ávila.  En el momento que nuestro ordenador se conecta a internet, éste pasa a ser un elemento más dentro de la Red, es decir, forma.
INTEGRANTES : Selvin Rivas José Vásquez Francisco Pérez J’ Alberto Patal.
Protocolos del modelo TCP/IP
PROTOCOLOS DE COMUNICACIÓN
Ing. Elizabeth Guerrero V.
4. Introducción a IP,TCP,UDP,ARP,ICMP
Protocolos de comunicación TCP/IP
Aplicaciones De Conexión Entre Capas. el envío y recepción de datos entre dos aplicaciones es un proceso de intercambio de datos entre capas iguales,
Ing. Elizabeth Guerrero V.
Capa Aplicación: Programación de sockets
Nivel de Transporte en Internet
¿QUE ES INTERNET? La Internet es una red de redes. Actualmente conecta miles de redes para permitir compartir información y recursos a nivel mundial. Con.
TRANSFERENCIA DE ARCHIVOS FTP
PROTOCOLOS Modelo TCP/IP
Significa Modelo de Interconexión de sistemas Abiertos.
2: Capa Aplicación 1 Capa Aplicación: Programación de sockets ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material.
MODELO TCP/IP.
Capa Transporte 1 Capítulo 3: Capa Transporte - I ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al.
En informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol)
Protocolos de Transporte y Aplicación Javier Rodríguez Granados.
1 Introducción a las Comunicaciones en Red. import java.net.InetAddress; import java.net.UnknownHostException; public class PruebaSockets { public static.
Comunicación Servidor-Cliente sin conexión
DOCENTE: EMILIO ISMAEL BUSTAMANTE MONTES
Transcripción de la presentación:

Andres Marín L. Programación sockets en java

Las aplicaciones en Internet usan el modelo cliente servidor. Introducción

Arquitectura TCP/IP

El nivel de aplicación se soporta sobre el nivel de transporte para usar la red. El mecanismo de puertos del nivel de transporte permite diferenciar cualquier comunicación entre cualquier par de computadores. El desarrollador decide si le conviene más TCP o UDP para su desarrollo. Cliente Servidor

Tramas UDP y TCP

Un servidor es un programa que normalmente se queda corriendo indefinidamente pendiente de atender las solicitudes de los clientes. (Demonio o Servicio)‏ asocia El servidor se asocia a un puerto específico que será usado por el cliente para contactarlo. ServicioPuerto Web-http80/TCP -smtp25/TCP SSH22/TCP DNS53/UDP Servidor

puerto Un cliente solicita conexiones a un servidor mediante un puerto predeterminado. Cliente

A es un Cliente Web / B es un Servidor Web

Es un API (application program interface) para el desarrollo de programas de comunicaciones sobre TCP/IP ó Unix. Originalmente se creó para Unix y Lenguaje C pero hoy en día se puede usar desde muchos lenguajes de programación sobre cualquier sistema operativo. Sockets

Que es un socket? Desde el punto de vista de programación, un socket nos da la “manija” con la cual podemos hacer uso de un extremo de la comunicación ya sea en el rol de cliente o de servidor. Es análogo a un descriptor de un archivo cuando hacemos uso de operaciones de I/O. Un socket permite identificar con quien estamos comunicándonos Qué es un socket?

Se pueden desarrollar aplicaciones que usen los protocolos TCP, UDP e IP. Igualmente se puede trabajar directamente sobre la interface de red. Qué tipos de aplicaciones se pueden desarrollar con el API sockets?

El protocolo UDP es no orientado a conexión, por lo tanto, no se requiere hacer un procedimiento especial de conexión o cierre de la misma. Se requiere importar estas librerías: import java.net.*; import java.io.*; Aplicaciones UDP

1. Declarar un socket DatagramSocket socket; 2. Definir el puerto por el que se reciben las conexiones y asociar el socket. static final int serverPort = 6666; socket = new DatagramSocket(serverPort); Esquema de un servidor UDP

3. Definir un buffer de recepción de paquetes (datagramas UDP)‏ DatagramPacket packet; packet = new DatagramPacket(data,packetSize); 4. Loop infinito esperando y leyendo datos. for(;;){ socket.receive(packet); …. Otras acciones dependiendo del servicio Esquema de un servidor en UDP. Continuación

Programa de ejemplo

Definir un buffer de envio de paquetes (datagramas UDP) y asociarlo a un puerto DatagramPacket packet; packet = new DatagramPacket(data,data.length,address,serverPort); Preparando la información. data = new byte[packetSize]; messageSend = new String(args[1]); messageSend.getBytes(0,messageSend.length(),data,0); Esquema del cliente

Intercambio de información. socket.send(packet); socket.receive(packet); Esquema del cliente. Continuación

Programa de ejemplo

El protocolo TCP es orientado a conexión, por lo tanto, se requiere hacer un procedimiento especial de conexión y cierre de la misma. Se requiere importar estas librerías: import java.net.*; import java.io.*; Aplicaciones con TCP

Declaramos un socket servidor y lo asociamos a un puerto ServerSocket serverSocket = null; serverSocket = new ServerSocket(4444); Declaramos un socket cliente donde esperamos a un cliente que se desee conectar con el servidor Socket clientSocket = null; clientSocket = serverSocket.accept(); Esquema del Servidor

Intercambio de información – Declaración de un buffer de lectura del canal BufferedReader entrada = new BufferedReader( new InputStreamReader(clientSocket.getInputStream())); – Declaracción de un buffer de escritura sobre el canal PrintWriter salida = new PrintWriter(clientSocket.getOutputStream(), true); – Escribir al canal String linea = "Dialogue client/server"; salida.println(linea); – Leer del canal while ((linea = entrada.readLine()) != null)‏ salida.println("(Server) Usted dijo: " + linea); Esquema del Servidor. Continuación

Programa de ejemplo

Declaramos un socket que usará el cliente para la conexión Socket echoSocket = null; Asociamos el socket a un puerto y dirección ip remota del servidor. Puede ser necesario convertir un nombre de maquina a dirección IP. Consultar métodos: InetAddress, getLocalHost, getByAddress, getByName, etc InetAddress direccion; direccion = InetAddress.getLocalHost(); echoSocket = new Socket(direccion, 4444); Esquema del Cliente

Intercambio de información –Declaramos un buffer de salida y otro de entrada PrintWriter salida = null; BufferedReader entrada = null; salida =new PrintWriter(echoSocket.getOutputStream(), true); entrada = new BufferedReader(new InputStreamReader(echoSocket.getInputStre am())); –Se hacen lecturas fromServer = entrada.readLine()‏ –Se hacen escrituras salida.println(fromUser)‏ Esquema del Cliente. Continuación

Programa de ejemplo