DOCENTE: EMILIO ISMAEL BUSTAMANTE MONTES

Slides:



Advertisements
Presentaciones similares
Curso de Java Java – Redes Rogelio Ferreira Escutia.
Advertisements

Java nos ofrece System.out para escribir en pantalla, pero también tenemos System.in para leer. System.in es un objeto de una clase de java que se llama.
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Programación Interactiva Aplicaciones Cliente-Servidor
“GUI para Conexiones y Transferencia de Datos Seguros”
Sockets y Threads en JAVA
SOCKETS INTRODUCCIÓN DEFINICIÓN TIPOS DE SOCKETS USO DE SOCKETS.
RMI (Remote Method Invocation)
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.
Sistemas Operativos Distribuidos Prácticas Justo N. Hidalgo Sanz Universidad Antonio de Nebrija 2002/03.
1 Ingeniería del Software Ejercicios de Implementación  Caso de Uso Total Gasto (Junio 2003)  Caso de Uso Mejor Usuario (Septiembre 2003)  Caso de Uso.
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.
Scis.regis.edu ● CS-434: Programación Orientada a Objetos usando Java Semana 7 Dr. Jesús Borrego Adjunct Faculty Regis University 1.
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.
Sistemas de Comunicación Magistral Nro. 8 Capa 4: Transporte Las funciones principales de la capa de transporte son transportar y regular el flujo de información.
Aplicaciones Cliente/Servidor con Java. Acceso a la red TCP UDP HTTP, Telnet, FTP, SMTP, SNMP, etc (Aplicaciones usuario) IP TCP/IP ● TCP: Transmission.
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.
Programación Orientada a Objetos Unidad 4 Excepciones Universidad de Chile Departamento de Ciencias de la Computación.
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.
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 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,
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.
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.
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.
Andres Marín L. Programación sockets en java.
INTEGRANTES : Selvin Rivas José Vásquez Francisco Pérez J’ Alberto Patal.
4. Introducción a IP,TCP,UDP,ARP,ICMP
Jean Carlo Fernandez C.I Cesar Arismendi C.I
Significa Modelo de Interconexión de sistemas Abiertos.
Gabriel Montañés León. TCP es un protocolo orientado a conexión es decir, que permite que dos máquinas que están comunicadas controlen el estado de la.
Modelo OSI Para redes………
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Protocolos de Transporte y Aplicación Javier Rodríguez Granados.
Manejo de Excepciones made by cristhian.. !!.  Errores que se pueden producir durante la ejecucion de una aplicacion y que podemos controlar o manejar.
Excepciones Diseño y manejo de excepciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 5 Versión
1 Introducción a las Comunicaciones en Red. import java.net.InetAddress; import java.net.UnknownHostException; public class PruebaSockets { public static.
INTEGRANTES: JORGE CRUZ DE OCAMPO EDSON SANCHEZ SUAREZ
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Paul Leger Modelo OSI Paul Leger
Teleprocesos Ing. Leonardo Párraga.
Capítulo 3: Capa Transporte - I
Capa Aplicación: Programación de sockets
Conceptos Básicos de Programación
MOdeLO.
Capa de aplicación MODELO OSI Capa de enlace de datos
Capítulo 3: Capa Transporte - I
Capítulo 3: Capa Transporte - I
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Exception Object Throwable Error Exception Runtime Exception.
Comunicación Servidor-Cliente sin conexión
Diseño y Programación Orientada a Objetos
Modelo OSI.
Definición de un Sistema Distribuido
INTERNET Actividad 3 Herramientas Tareas Ruben Dario Acosta V.
FLUJOS (Flujos de Bytes-Caracteres)
Comunicaciones Rogelio Ferreira Escutia
Capa Aplicación: Programación de sockets
CAPA FÍSICA DEL MODELO OSI La capa física: Señales de comunicación.
Hecha por los Estudiantes: Pipe Ávila y Pipe Cárdenas Destinada: Para todos ustedes los aprendices y la maestra ingeniera.
2 Es el dispositivo digital lógico de interconexión de equipos que opera en la capa de enlace de datos del modelo OSI. Su función es interconectar dos.
String, random y stream en java
Intr. a la creación y gestión de páginas web
Prof. Marcos Heredia.  Primitivos y No Primitivos.
CAPA DE RED- OSI. Intercambiar secciones de datos individuales a través de la red entre dispositivos finales identificados. Provee servicios para:
NOTA: Para cambiar la imagen de esta dispositiva, seleccione la imagen y elimínela. A continuación haga clic en el icono Imágenes en el marcador de posición.
Modbus RTU. ¿Qué es el protocolo Modbus RTU? El protocolo Modbus RTU es un medio de comunicación que permite el intercambio de datos entre los controladores.
Transcripción de la presentación:

DOCENTE: EMILIO ISMAEL BUSTAMANTE MONTES FUNDAMENTOS DE SOCKETS EN JAVA DOCENTE: EMILIO ISMAEL BUSTAMANTE MONTES ALUMNO: FORTINO DOMINGUEZ CONTRERAS

SISTEMA OPERATIVO Un sistema operativo es definido como un conjunto de programas especialmente hechos para la ejecución de varias tareas, en las que sirve de intermediario entre el usuario y la computadora. El sistema operativo administra todos los periféricos de una computadora. El sistema operativo es el programa más importante de la computadora.

Fundamentos Los sockets son un sistema de comunicación entre procesos de diferentes máquinas de una red. Un socket es un punto de comunicación por el cual un proceso puede emitir o recibir información. Los sockets utilizan una serie de primitivas para establecer el punto de comunicación. Con todas las primitivas que ofrecen los sockets, se puede crear un sistema de diálogo muy completo.

Definición Un socket es un punto final de un proceso de comunicación. Es una abstracción que permite manejar de una forma sencilla la comunicación entre procesos, aunque estos procesos se encuentren en sistemas distintos, sin necesidad de conocer el funcionamiento de los protocolos de comunicación subyacentes.

COMUNICACIÓN ENTRE DOS PROCESOS A TRAVÉS DE SOCKETS Es así como estos “puntos finales” sirven de enlaces de comunicaciones entre procesos. Los procesos tratan a los sockets como descriptores de ficheros, de forma que se pueden intercambiar datos con otros procesos transmitiendo y recibiendo a través de sockets. Generalmente son usados en forma de cliente-servidor.

 Tipos de Sockets El tipo de sockets describe la forma en la que se transfiere información a través de ese socket.  Existen muchos tipos de sockets, sin embargo, los más populares son:  Stream (TCP) Datagram (UDP) Raw (acceso directo al protocolo: root)

 Socket Stream El protocolo de comunicaciones con streams es un protocolo orientado a conexión. Los datos llegan al destino en el orden de transmisión. Si se rompe la conexión entre los procesos toma las medidas oportunas. Están libres de errores.

Socket Datagram Son un servicio de transporte no orientado a la conexión. Los datos se envían y reciben en paquetes, cuya entrega no está garantizada.  Los paquetes pueden ser duplicados, perdidos o llegar en un orden diferente al que se envió. Las comunicaciones a través de datagramas usan UDP (User Datagram Protocol)

Socket Raw Son sockets que dan acceso directo a la capa de software de red subyacente o a protocolos de más bajo nivel. Se utilizan sobre todo para la depuración del código de los protocolos.

MODELO CLIENTE-SERVIDOR Un servidor se ejecuta sobre una computadora específica y tiene un socket que responde en un puerto específico. El servidor únicamente espera, escuchando a través del socket a que un cliente haga una petición. El cliente conoce el nombre de host de la máquina en la cual el servidor se encuentra ejecutando y el número de puerto en el cual el servidor está conectado.

Funcionamiento de una conexión socket

conexion package sockets.conexion; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Conexion { private final int PUERTO = 1234; //Puerto para la conexión private final String HOST = "localhost"; //Host para la conexión protected String mensajeServidor; //Mensajes entrantes (recibidos) en el servidor protected ServerSocket ss; //Socket del servidor protected Socket cs; //Socket del cliente protected DataOutputStream salidaServidor, salidaCliente; //Flujo de datos de salida public Conexion(String tipo) throws IOException //Constructor if(tipo.equalsIgnoreCase("servidor")) ss = new ServerSocket(PUERTO);//Se crea el socket para el servidor en puerto 1234 cs = new Socket(); //Socket para el cliente } else cs = new Socket(HOST, PUERTO); //Socket para el cliente en localhost en puerto 1234

SERVIDOR package sockets.servidor; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import sockets.conexion.Conexion; public class Servidor extends Conexion //Se hereda de conexión para hacer uso de los sockets y demás { public Servidor() throws IOException{super("servidor");} //Se usa el constructor para servidor de Conexion public void startServer()//Método para iniciar el servidor try System.out.println("Esperando..."); //Esperando conexión cs = ss.accept(); //Accept comienza el socket y espera una conexión desde un cliente System.out.println("Cliente en línea"); //Se obtiene el flujo de salida del cliente para enviarle mensajes salidaCliente = new DataOutputStream(cs.getOutputStream()); //Se le envía un mensaje al cliente usando su flujo de salida salidaCliente.writeUTF("Petición recibida y aceptada"); //Se obtiene el flujo entrante desde el cliente BufferedReader entrada = new BufferedReader(new InputStreamReader(cs.getInputStream())); while((mensajeServidor = entrada.readLine()) != null) //Mientras haya mensajes desde el cliente //Se muestra por pantalla el mensaje recibido System.out.println(mensajeServidor); } System.out.println("Fin de la conexión"); ss.close();//Se finaliza la conexión con el cliente catch (Exception e) System.out.println(e.getMessage()); SERVIDOR

CLIENTE package sockets.cliente; import java.io.DataOutputStream; import java.io.IOException; import sockets.conexion.Conexion; public class Cliente extends Conexion { public Cliente() throws IOException{super("cliente");} //Se usa el constructor para cliente de Conexion public void startClient() //Método para iniciar el cliente try //Flujo de datos hacia el servidor salidaServidor = new DataOutputStream(cs.getOutputStream()); //Se enviarán dos mensajes for (int i = 0; i < 2; i++) //Se escribe en el servidor usando su flujo de datos salidaServidor.writeUTF("Este es el mensaje número " + (i+1) + "\n"); } cs.close();//Fin de la conexión catch (Exception e) System.out.println(e.getMessage());

MAINSERVIDOR package sockets.main; import java.io.IOException; import sockets.servidor.Servidor; //Clase principal que hará uso del servidor public class MainServidor { public static void main(String[] args) throws IOException Servidor serv = new Servidor(); //Se crea el servidor System.out.println("Iniciando servidor\n"); serv.startServer(); //Se inicia el servidor }

MAINCLIENTE package sockets.main; import java.io.IOException; import sockets.cliente.Cliente; //Clase principal que hará uso del cliente public class MainCliente { public static void main(String[] args) throws IOException Cliente cli = new Cliente(); //Se crea el cliente System.out.println("Iniciando cliente\n"); cli.startClient(); //Se inicia el cliente }