SlideShare una empresa de Scribd logo
Java Advanced Programming
Introduccion I
http://javacuriosities.blogspot.com.ar/
Networking
Cuando hablamos de networking nos estamos refiriendo a la posibilidad de
trabajar con diversas aplicación ubicadas físicamente en distintas
estaciones de trabajo y permitir que se conecten vía una red, para trabajar
de manera cooperativa o simplemente enviar y recibir información.
Java advanced programming
Socket
Un Socket es una representación abstracta del extremo (Endpoint) en un
proceso de comunicación. Para que se dé la comunicación en una Red, el
proceso de comunicación requiere un Socket a cada extremo
Emisor/Receptor y viceversa.
Java advanced programming
Protocolos (Capa 4 - Nivel de Transporte)
Cuando conectamos dos sockets en medio existe algo que se conoce
como protocolo de transporte, aquí estaremos hablando de TCP o UDP.
Java advanced programming
TCP
TCP (Transmission Control Protocol)
- Protocolo de transporte “orientado a conexión”
- Garantiza un servicio extremo a extremo fiable
- Detectar/retransmitir segmentos de datos perdidos o erróneos
- Detectar y descartar segmentos duplicados
- Ordenar los segmentos en el destino y pasarlos de forma ordenada a la capa
de aplicación
- Utilizado en aplicaciones en las que la seguridad en la entrega es más
importante que la rapidez
- Ejemplos: FTP, HTTP, Telnet, SMTP, etc.
Java advanced programming
UDP
UDP(User Datagram Protocol)
- Protocolo de transporte sin conexión
- No garantiza un servicio extremo a extremo fiable
- No controla la pérdida de paquetes, los errores o la duplicidad
- Utilizado en aplicaciones en las que la rapidez en la entrega es más importante
que la seguridad
- Ejemplos: DNS, SNMP, RIP, RTP, etc
Java advanced programming
TCP/UDP
Java advanced programming
Cliente/Servidor
 Modelo cliente-servidor
- Es el patrón de comunicación usado por la mayoría de las aplicaciones TCP/UDP
- El funcionamiento básico se emplea en otro modelos (Ejemplo: peer-to-peer)
 Cliente
- Es la aplicación que inicia la conexión o el intercambio de datos con la máquina
remota (servidor)
- La aplicación cliente normalmente la arranca un usuario cuando quiere utilizar un
servicio de la red
- Ejemplos: Navegador web (TCP), cliente de e-mail (TCP), consulta al servidor DNS
(UDP)
 Servidor
- Es la aplicación que recibe y acepta la solicitud de conexión o intercambio de datos
del cliente
- Esta aplicación normalmente está ejecutándose continuamente en la máquina
remota y está a la espera de solicitudes de clientes
- Ejemplos: Servidor Web (TCP), Servidor de correo electrónico (TCP), Servidor DNS
(UDP)
Java advanced programming
Sockets y Puertos
 Sockets y Puertos
- El canal de comunicación establecido entre el cliente y el servidor se denomina
“socket” (enchufe)
- El socket permite el intercambio de datos bidireccional entre cliente y servidor
- Cada aplicación servidor o cliente está identificada por un número de puerto
 Parámetros en una comunicación TCP o UDP
- Dirección IP del cliente: Identifica a la máquina cliente (la que inicia la conexión o
intercambio de datos)
- Puerto del cliente: Identifica al proceso cliente en la máquina cliente
- Dirección IP del servidor: Identifica a la máquina servidora (la que acepta la
solicitud de conexión o intercambio de datos)
- Puerto del servidor: Identifica al proceso servidor en la máquina servidora
Java advanced programming
Direccion IP
 Una dirección IP es un número que identifica de manera lógica y jerárquica a
una interfaz de un dispositivo (habitualmente una computadora) dentro de
una red que utilice el protocolo IP (Internet Protocol), que corresponde al
nivel de red del protocolo TCP/IP.
 Dicho número no se ha de confundir con la dirección MAC que es un número
hexadecimal fijo que es asignado a la tarjeta o dispositivo de red por el
fabricante, mientras que la dirección IP se puede cambiar.
 Es habitual que un usuario que se conecta desde su hogar a Internet utilice
una dirección IP. Esta dirección puede cambiar cada vez que se conecta; y a
esta forma de asignación de dirección IP se denomina una dirección IP
dinámica.
 Los sitios de Internet que por su naturaleza necesitan estar
permanentemente conectados, generalmente tienen una dirección IP fija, es
decir, no cambia con el tiempo. Los servidores de correo, DNS, FTP
públicos, y servidores de páginas web necesariamente deben contar con una
dirección IP fija o estática, ya que de esta forma se permite su localización
en la red.Java advanced programming
Puerto
 Un puerto es una dirección numérica a través de la cual se procesa un
servicio, es decir, no son puertos físicos semejantes al puerto paralelo para
conectar la impresora, sino que son direcciones lógicas proporcionadas por
el sistema operativo para poder responder.
 Las comunicaciones de información relacionada con Web tienen lugar a
través del puerto 80 mediante protocolo TCP. Para emular esto en Java, se
utiliza la clase Socket.
 Teóricamente hay 65535 puertos disponibles, aunque los puertos del 1 al
1023 están reservados al uso de servicios estándar proporcionados por el
sistema, quedando el resto libre para utilización por las aplicaciones de
usuario. De no existir los puertos, solamente se podría ofrecer un servicio
por máquina. Nótese que el protocolo IP no sabe nada al respecto de los
números de puerto.
Java advanced programming
URL (Uniform Resource Locator)
Una URL, o dirección, es en realidad un puntero a un determinado recurso. Al
especificar una URL, se está indicando:
- El protocolo utilizado para acceder al servidor (HTTP, por ejemplo)
- El nombre del servidor
- El puerto de conexión (Opcional)
- El path al recurso
- El nombre de un archivo determinado (Opcional a veces)
- Un punto de referencia dentro del archivo (Opcional)
 La sintaxis general, para una dirección URL, sería:
protocolo://nombre_servidor[:puerto]/directorio/archivo#referencia
Java advanced programming
Puertos Well-Known
Java advanced programming
ServerSocket
Esta clase es la encargada de definir un puerto de escucha y actuar de
servidor, iniciamos el ServerSocket en un puerto y nos quedamos aceptando
peticiones.
Java advanced programming
Socket
Cuando implementamos el lado Cliente debemos usar un socket e indicarle a
donde nos vamos a conectar.
Java advanced programming
Entrada/Salida
La API de Java diferencia entre los streams de caracteres y streams de bytes.
 Streams de bytes (InputStream y OutputStream)
- Diseñados para operar a nivel de byte.
- Hay ciertos dispositivos que sólo pueden trabajar a este nivel.
 Streams de caracteres (Reader y Writer)
- Diseñados para optimizar las operaciones con cadenas de caracteres.
- Posteriores a las anteriores.
- Soportan codificaciones Unicode-16.
- Cualquier fichero de texto puede ser accedido directamente a través de este tipo de
stream.
- Existen dispositivos, que aunque están preparados para enviar/recibir información
de esta naturaleza, no pueden tratarse directamente con este stream. En estos
casos, se deberá envolver el stream de bytes con un stream de caracteres.
- InputStreamReader
- OutputStreamReader
Java advanced programming
Stream de entradas
Java advanced programming
Stream de salidas
Java advanced programming
Jerarquia de flujos de bytes
Java advanced programming
Jerarquia de flujos de caracteres
Java advanced programming
Java advanced programming
Errores tipicos
 Intentar usar un puerto que esta siendo usado por otra aplicación
- Obtendremos la exception " java.net.BindException: Address already in use:
connect "
 Si dejamos el stream abierto y seguimos creando streams en algún
momento obtenemos el siguiente error.
- No buffer space available (maximum connections reached?):

Más contenido relacionado

La actualidad más candente

METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
Germán Sánchez
 
Arquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsArquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsslipkdany21
 
Servidores, tipos de servidores
Servidores, tipos de servidoresServidores, tipos de servidores
Servidores, tipos de servidores
Enya Loboguerrero
 
Seguridad Informatica
Seguridad  InformaticaSeguridad  Informatica
Seguridad Informatica
guesta86b3c
 
Implementacion de control de pago de agua
Implementacion de control de pago de aguaImplementacion de control de pago de agua
Implementacion de control de pago de agua
Jean Carlos
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Joel Fernandez
 
Tareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosTareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosnenyta08
 
SERVIDORES DE INTERNET
SERVIDORES DE INTERNETSERVIDORES DE INTERNET
SERVIDORES DE INTERNET
Enmer Genaro Leandro Ricra
 
Rational rose
Rational roseRational rose
Rational rose
Israel Chava Gonzales
 
Metodologias de diseño de bd
Metodologias de diseño de bdMetodologias de diseño de bd
Metodologias de diseño de bd
Arnold Ortiz
 
Diseño de bases de datos
Diseño de bases de datosDiseño de bases de datos
Diseño de bases de datos
Jesús Tramullas
 
Unidad 1. Desarrollo de Aplicaciones Distribuidas
Unidad 1. Desarrollo de Aplicaciones DistribuidasUnidad 1. Desarrollo de Aplicaciones Distribuidas
Unidad 1. Desarrollo de Aplicaciones Distribuidas
Isidro Lopez Riuz
 
Procesos e hilos_parte_3
Procesos e hilos_parte_3Procesos e hilos_parte_3
Procesos e hilos_parte_3
Regina Maritzol Tenemaza Vera
 
Iso 14764
Iso 14764Iso 14764
Etapas de proyectos de software.ppt
Etapas de proyectos de software.pptEtapas de proyectos de software.ppt
Etapas de proyectos de software.ppt
Luis619096
 
Servidores y características
Servidores y característicasServidores y características
Servidores y características
Beto Cardenas
 
Gestor de almacenamiento
Gestor de almacenamientoGestor de almacenamiento
Gestor de almacenamiento
Carlos Mila
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
Ares Atzarel Hernández Rodríguez
 

La actualidad más candente (20)

METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
 
Arquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsArquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windows
 
Servidores, tipos de servidores
Servidores, tipos de servidoresServidores, tipos de servidores
Servidores, tipos de servidores
 
Seguridad Informatica
Seguridad  InformaticaSeguridad  Informatica
Seguridad Informatica
 
Implementacion de control de pago de agua
Implementacion de control de pago de aguaImplementacion de control de pago de agua
Implementacion de control de pago de agua
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Tareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosTareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientos
 
SERVIDORES DE INTERNET
SERVIDORES DE INTERNETSERVIDORES DE INTERNET
SERVIDORES DE INTERNET
 
Rational rose
Rational roseRational rose
Rational rose
 
Metodologias de diseño de bd
Metodologias de diseño de bdMetodologias de diseño de bd
Metodologias de diseño de bd
 
Diseño de bases de datos
Diseño de bases de datosDiseño de bases de datos
Diseño de bases de datos
 
Unidad 1. Desarrollo de Aplicaciones Distribuidas
Unidad 1. Desarrollo de Aplicaciones DistribuidasUnidad 1. Desarrollo de Aplicaciones Distribuidas
Unidad 1. Desarrollo de Aplicaciones Distribuidas
 
Procesos e hilos_parte_3
Procesos e hilos_parte_3Procesos e hilos_parte_3
Procesos e hilos_parte_3
 
Iso 14764
Iso 14764Iso 14764
Iso 14764
 
Etapas de proyectos de software.ppt
Etapas de proyectos de software.pptEtapas de proyectos de software.ppt
Etapas de proyectos de software.ppt
 
Servidores y características
Servidores y característicasServidores y características
Servidores y características
 
Gestor de almacenamiento
Gestor de almacenamientoGestor de almacenamiento
Gestor de almacenamiento
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 

Destacado

Sockets UDP
Sockets UDPSockets UDP
Thread 02
Thread 02Thread 02
Thread 01
Thread 01Thread 01
Comunicación en Grupo
Comunicación en GrupoComunicación en Grupo
Comunicación en Grupomallita
 
Log4J
Log4JLog4J
Funcion de la tabla de enrutamiento
Funcion de la tabla de enrutamientoFuncion de la tabla de enrutamiento
Funcion de la tabla de enrutamiento
Jose Hernandez Landa
 
03 Oop
03   Oop03   Oop
03 Oop
Network Sens
 

Destacado (7)

Sockets UDP
Sockets UDPSockets UDP
Sockets UDP
 
Thread 02
Thread 02Thread 02
Thread 02
 
Thread 01
Thread 01Thread 01
Thread 01
 
Comunicación en Grupo
Comunicación en GrupoComunicación en Grupo
Comunicación en Grupo
 
Log4J
Log4JLog4J
Log4J
 
Funcion de la tabla de enrutamiento
Funcion de la tabla de enrutamientoFuncion de la tabla de enrutamiento
Funcion de la tabla de enrutamiento
 
03 Oop
03   Oop03   Oop
03 Oop
 

Similar a Sockets TCP

Sockets y servidores
Sockets y servidoresSockets y servidores
Sockets y servidores
CesarAlejandroPatlan
 
Sockets
SocketsSockets
Sockets
davidua
 
Diseño de la red I.E. César Vallejo
Diseño de la red I.E. César VallejoDiseño de la red I.E. César Vallejo
Diseño de la red I.E. César VallejoWilliams Cano
 
Resumen capitulo 3
Resumen capitulo 3Resumen capitulo 3
Resumen capitulo 3jorge
 
que es un socket
que es un socketque es un socket
que es un socket
Fabian Morales
 
Semana 8 api de socket
Semana  8 api de socketSemana  8 api de socket
Semana 8 api de socket
JH Terly Tuanama
 
Tarea 3.0.0
Tarea 3.0.0Tarea 3.0.0
Tarea 3.0.0jorge
 
Desarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas socketsDesarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas socketsdandark2000
 
api_de_socket [Explicación Completa]
api_de_socket [Explicación Completa]api_de_socket [Explicación Completa]
api_de_socket [Explicación Completa]
Julio Antonio Huaman Chuque
 
Bosquejo general
Bosquejo generalBosquejo general
Bosquejo general
BeatrizCFlores
 
Proyecto integrado
Proyecto integradoProyecto integrado
Proyecto integrado
BeatrizCFlores
 
Redes
RedesRedes
Protocolos de la comunicación.diogenes dora
Protocolos de la comunicación.diogenes  doraProtocolos de la comunicación.diogenes  dora
Protocolos de la comunicación.diogenes doradianalores
 
Procolo tcpip josé luis parra borja 9°2
Procolo tcpip josé luis parra borja 9°2Procolo tcpip josé luis parra borja 9°2
Procolo tcpip josé luis parra borja 9°2
José Parra Borja
 
Sockets
SocketsSockets

Similar a Sockets TCP (20)

Sockets y servidores
Sockets y servidoresSockets y servidores
Sockets y servidores
 
Networking
NetworkingNetworking
Networking
 
Sockets
SocketsSockets
Sockets
 
Sockets
SocketsSockets
Sockets
 
Diseño de la red I.E. César Vallejo
Diseño de la red I.E. César VallejoDiseño de la red I.E. César Vallejo
Diseño de la red I.E. César Vallejo
 
Edwin
EdwinEdwin
Edwin
 
Resumen capitulo 3
Resumen capitulo 3Resumen capitulo 3
Resumen capitulo 3
 
Edwin
EdwinEdwin
Edwin
 
que es un socket
que es un socketque es un socket
que es un socket
 
Semana 8 api de socket
Semana  8 api de socketSemana  8 api de socket
Semana 8 api de socket
 
Tarea 3.0.0
Tarea 3.0.0Tarea 3.0.0
Tarea 3.0.0
 
Desarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas socketsDesarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas sockets
 
api_de_socket [Explicación Completa]
api_de_socket [Explicación Completa]api_de_socket [Explicación Completa]
api_de_socket [Explicación Completa]
 
Bosquejo general
Bosquejo generalBosquejo general
Bosquejo general
 
Proyecto integrado
Proyecto integradoProyecto integrado
Proyecto integrado
 
Redes
RedesRedes
Redes
 
Tema 7 2º trabajo
Tema 7 2º trabajoTema 7 2º trabajo
Tema 7 2º trabajo
 
Protocolos de la comunicación.diogenes dora
Protocolos de la comunicación.diogenes  doraProtocolos de la comunicación.diogenes  dora
Protocolos de la comunicación.diogenes dora
 
Procolo tcpip josé luis parra borja 9°2
Procolo tcpip josé luis parra borja 9°2Procolo tcpip josé luis parra borja 9°2
Procolo tcpip josé luis parra borja 9°2
 
Sockets
SocketsSockets
Sockets
 

Más de Luis Miguel De Bello

Java Web Services - REST
Java Web Services - RESTJava Web Services - REST
Java Web Services - REST
Luis Miguel De Bello
 
Java Web Services - SOAP Temas Adicionales
Java Web Services - SOAP Temas AdicionalesJava Web Services - SOAP Temas Adicionales
Java Web Services - SOAP Temas Adicionales
Luis Miguel De Bello
 
Java Web Services - SOAP Binding
Java Web Services - SOAP BindingJava Web Services - SOAP Binding
Java Web Services - SOAP Binding
Luis Miguel De Bello
 
Java Web Services - Introduccion
Java Web Services - IntroduccionJava Web Services - Introduccion
Java Web Services - Introduccion
Luis Miguel De Bello
 
Java Web - JSF
Java Web - JSFJava Web - JSF
Java Web - JSF
Luis Miguel De Bello
 
Java Web - Struts
Java Web - StrutsJava Web - Struts
Java Web - Struts
Luis Miguel De Bello
 
Java Web - JSP
Java Web - JSPJava Web - JSP
Java Web - JSP
Luis Miguel De Bello
 
Java Web - Servlet
Java Web - ServletJava Web - Servlet
Java Web - Servlet
Luis Miguel De Bello
 
Base de datos - Clase 2
Base de datos - Clase 2Base de datos - Clase 2
Base de datos - Clase 2
Luis Miguel De Bello
 
Base de datos - Clase 3
Base de datos - Clase 3Base de datos - Clase 3
Base de datos - Clase 3
Luis Miguel De Bello
 
Base de datos - Clase 1
Base de datos - Clase 1Base de datos - Clase 1
Base de datos - Clase 1
Luis Miguel De Bello
 
Base de datos - Clase 4
Base de datos - Clase 4Base de datos - Clase 4
Base de datos - Clase 4
Luis Miguel De Bello
 
Java Web - Session
Java Web - SessionJava Web - Session
Java Web - Session
Luis Miguel De Bello
 
Java Web - Introduccion
Java Web - IntroduccionJava Web - Introduccion
Java Web - Introduccion
Luis Miguel De Bello
 
Administración de memoria en java
Administración de memoria en javaAdministración de memoria en java
Administración de memoria en java
Luis Miguel De Bello
 
Best Practices
Best PracticesBest Practices
Best Practices
Luis Miguel De Bello
 

Más de Luis Miguel De Bello (16)

Java Web Services - REST
Java Web Services - RESTJava Web Services - REST
Java Web Services - REST
 
Java Web Services - SOAP Temas Adicionales
Java Web Services - SOAP Temas AdicionalesJava Web Services - SOAP Temas Adicionales
Java Web Services - SOAP Temas Adicionales
 
Java Web Services - SOAP Binding
Java Web Services - SOAP BindingJava Web Services - SOAP Binding
Java Web Services - SOAP Binding
 
Java Web Services - Introduccion
Java Web Services - IntroduccionJava Web Services - Introduccion
Java Web Services - Introduccion
 
Java Web - JSF
Java Web - JSFJava Web - JSF
Java Web - JSF
 
Java Web - Struts
Java Web - StrutsJava Web - Struts
Java Web - Struts
 
Java Web - JSP
Java Web - JSPJava Web - JSP
Java Web - JSP
 
Java Web - Servlet
Java Web - ServletJava Web - Servlet
Java Web - Servlet
 
Base de datos - Clase 2
Base de datos - Clase 2Base de datos - Clase 2
Base de datos - Clase 2
 
Base de datos - Clase 3
Base de datos - Clase 3Base de datos - Clase 3
Base de datos - Clase 3
 
Base de datos - Clase 1
Base de datos - Clase 1Base de datos - Clase 1
Base de datos - Clase 1
 
Base de datos - Clase 4
Base de datos - Clase 4Base de datos - Clase 4
Base de datos - Clase 4
 
Java Web - Session
Java Web - SessionJava Web - Session
Java Web - Session
 
Java Web - Introduccion
Java Web - IntroduccionJava Web - Introduccion
Java Web - Introduccion
 
Administración de memoria en java
Administración de memoria en javaAdministración de memoria en java
Administración de memoria en java
 
Best Practices
Best PracticesBest Practices
Best Practices
 

Último

UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
HaroldKewinCanaza1
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
maitecuba2006
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
manuelalejandro238
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
KevinCabrera96
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
LuisLobatoingaruca
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
ppame8010
 
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdfHITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
GROVER MORENO
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
RobertRamos84
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
AlfonsoRosalesFonsec
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LuisLobatoingaruca
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
edujunes132
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
MariaCortezRuiz
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
JuanChaparro49
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
JhonatanOQuionesChoq
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
JuanAlbertoLugoMadri
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
elvis2000x
 
Distribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de MediasDistribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de Medias
arielemelec005
 
Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
SamuelHuapalla
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
JavierAlejosM
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
ycalful01
 

Último (20)

UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
 
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdfHITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
 
Distribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de MediasDistribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de Medias
 
Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
 

Sockets TCP

  • 1. Java Advanced Programming Introduccion I http://javacuriosities.blogspot.com.ar/
  • 2. Networking Cuando hablamos de networking nos estamos refiriendo a la posibilidad de trabajar con diversas aplicación ubicadas físicamente en distintas estaciones de trabajo y permitir que se conecten vía una red, para trabajar de manera cooperativa o simplemente enviar y recibir información. Java advanced programming
  • 3. Socket Un Socket es una representación abstracta del extremo (Endpoint) en un proceso de comunicación. Para que se dé la comunicación en una Red, el proceso de comunicación requiere un Socket a cada extremo Emisor/Receptor y viceversa. Java advanced programming
  • 4. Protocolos (Capa 4 - Nivel de Transporte) Cuando conectamos dos sockets en medio existe algo que se conoce como protocolo de transporte, aquí estaremos hablando de TCP o UDP. Java advanced programming
  • 5. TCP TCP (Transmission Control Protocol) - Protocolo de transporte “orientado a conexión” - Garantiza un servicio extremo a extremo fiable - Detectar/retransmitir segmentos de datos perdidos o erróneos - Detectar y descartar segmentos duplicados - Ordenar los segmentos en el destino y pasarlos de forma ordenada a la capa de aplicación - Utilizado en aplicaciones en las que la seguridad en la entrega es más importante que la rapidez - Ejemplos: FTP, HTTP, Telnet, SMTP, etc. Java advanced programming
  • 6. UDP UDP(User Datagram Protocol) - Protocolo de transporte sin conexión - No garantiza un servicio extremo a extremo fiable - No controla la pérdida de paquetes, los errores o la duplicidad - Utilizado en aplicaciones en las que la rapidez en la entrega es más importante que la seguridad - Ejemplos: DNS, SNMP, RIP, RTP, etc Java advanced programming
  • 8. Cliente/Servidor  Modelo cliente-servidor - Es el patrón de comunicación usado por la mayoría de las aplicaciones TCP/UDP - El funcionamiento básico se emplea en otro modelos (Ejemplo: peer-to-peer)  Cliente - Es la aplicación que inicia la conexión o el intercambio de datos con la máquina remota (servidor) - La aplicación cliente normalmente la arranca un usuario cuando quiere utilizar un servicio de la red - Ejemplos: Navegador web (TCP), cliente de e-mail (TCP), consulta al servidor DNS (UDP)  Servidor - Es la aplicación que recibe y acepta la solicitud de conexión o intercambio de datos del cliente - Esta aplicación normalmente está ejecutándose continuamente en la máquina remota y está a la espera de solicitudes de clientes - Ejemplos: Servidor Web (TCP), Servidor de correo electrónico (TCP), Servidor DNS (UDP) Java advanced programming
  • 9. Sockets y Puertos  Sockets y Puertos - El canal de comunicación establecido entre el cliente y el servidor se denomina “socket” (enchufe) - El socket permite el intercambio de datos bidireccional entre cliente y servidor - Cada aplicación servidor o cliente está identificada por un número de puerto  Parámetros en una comunicación TCP o UDP - Dirección IP del cliente: Identifica a la máquina cliente (la que inicia la conexión o intercambio de datos) - Puerto del cliente: Identifica al proceso cliente en la máquina cliente - Dirección IP del servidor: Identifica a la máquina servidora (la que acepta la solicitud de conexión o intercambio de datos) - Puerto del servidor: Identifica al proceso servidor en la máquina servidora Java advanced programming
  • 10. Direccion IP  Una dirección IP es un número que identifica de manera lógica y jerárquica a una interfaz de un dispositivo (habitualmente una computadora) dentro de una red que utilice el protocolo IP (Internet Protocol), que corresponde al nivel de red del protocolo TCP/IP.  Dicho número no se ha de confundir con la dirección MAC que es un número hexadecimal fijo que es asignado a la tarjeta o dispositivo de red por el fabricante, mientras que la dirección IP se puede cambiar.  Es habitual que un usuario que se conecta desde su hogar a Internet utilice una dirección IP. Esta dirección puede cambiar cada vez que se conecta; y a esta forma de asignación de dirección IP se denomina una dirección IP dinámica.  Los sitios de Internet que por su naturaleza necesitan estar permanentemente conectados, generalmente tienen una dirección IP fija, es decir, no cambia con el tiempo. Los servidores de correo, DNS, FTP públicos, y servidores de páginas web necesariamente deben contar con una dirección IP fija o estática, ya que de esta forma se permite su localización en la red.Java advanced programming
  • 11. Puerto  Un puerto es una dirección numérica a través de la cual se procesa un servicio, es decir, no son puertos físicos semejantes al puerto paralelo para conectar la impresora, sino que son direcciones lógicas proporcionadas por el sistema operativo para poder responder.  Las comunicaciones de información relacionada con Web tienen lugar a través del puerto 80 mediante protocolo TCP. Para emular esto en Java, se utiliza la clase Socket.  Teóricamente hay 65535 puertos disponibles, aunque los puertos del 1 al 1023 están reservados al uso de servicios estándar proporcionados por el sistema, quedando el resto libre para utilización por las aplicaciones de usuario. De no existir los puertos, solamente se podría ofrecer un servicio por máquina. Nótese que el protocolo IP no sabe nada al respecto de los números de puerto. Java advanced programming
  • 12. URL (Uniform Resource Locator) Una URL, o dirección, es en realidad un puntero a un determinado recurso. Al especificar una URL, se está indicando: - El protocolo utilizado para acceder al servidor (HTTP, por ejemplo) - El nombre del servidor - El puerto de conexión (Opcional) - El path al recurso - El nombre de un archivo determinado (Opcional a veces) - Un punto de referencia dentro del archivo (Opcional)  La sintaxis general, para una dirección URL, sería: protocolo://nombre_servidor[:puerto]/directorio/archivo#referencia Java advanced programming
  • 14. ServerSocket Esta clase es la encargada de definir un puerto de escucha y actuar de servidor, iniciamos el ServerSocket en un puerto y nos quedamos aceptando peticiones. Java advanced programming
  • 15. Socket Cuando implementamos el lado Cliente debemos usar un socket e indicarle a donde nos vamos a conectar. Java advanced programming
  • 16. Entrada/Salida La API de Java diferencia entre los streams de caracteres y streams de bytes.  Streams de bytes (InputStream y OutputStream) - Diseñados para operar a nivel de byte. - Hay ciertos dispositivos que sólo pueden trabajar a este nivel.  Streams de caracteres (Reader y Writer) - Diseñados para optimizar las operaciones con cadenas de caracteres. - Posteriores a las anteriores. - Soportan codificaciones Unicode-16. - Cualquier fichero de texto puede ser accedido directamente a través de este tipo de stream. - Existen dispositivos, que aunque están preparados para enviar/recibir información de esta naturaleza, no pueden tratarse directamente con este stream. En estos casos, se deberá envolver el stream de bytes con un stream de caracteres. - InputStreamReader - OutputStreamReader Java advanced programming
  • 17. Stream de entradas Java advanced programming
  • 18. Stream de salidas Java advanced programming
  • 19. Jerarquia de flujos de bytes Java advanced programming
  • 20. Jerarquia de flujos de caracteres Java advanced programming
  • 21. Java advanced programming Errores tipicos  Intentar usar un puerto que esta siendo usado por otra aplicación - Obtendremos la exception " java.net.BindException: Address already in use: connect "  Si dejamos el stream abierto y seguimos creando streams en algún momento obtenemos el siguiente error. - No buffer space available (maximum connections reached?):