Programación Concurrente En Java

Páginas: 19 (4637 palabras) Publicado: 20 de mayo de 2012
Laboratorio de Redes de Comunicaciones Programación con Sockets en Java
Sockets orientados a conexión Sockets no orientados a conexión

UNIVERSIDADE DA CORUÑA

Java: Distribuido

UNIVERSIDADE DA CORUÑA

• Java se ha construido con extensas capacidades de  interconexión TCP/IP. Existen librerías de rutinas para  acceder e interactuar con protocolos como http y ftp. Esto permite a los programadores acceder a la información a  través de la red con tanta facilidad como a los ficheros  locales. • Java en sí no es distribuido, sino que proporciona las  librerías y herramientas para que los programas puedan ser  distribuidos, es decir, que se corran en varias máquinas,  interactuando.

Octubre 2007

Laboratorio de Redes de Comunicaciones

2

Java: Distribuido
•Pensado para su aplicación en redes. • Soporta varios niveles de conectividad en red:
­ Permite abrir un URL ­ RMI ­ Permite trabajar con “sockets”

UNIVERSIDADE DA CORUÑA

• Permite crear de forma sencilla, tanto aplicaciones cliente  como servidor.

Octubre 2007

Laboratorio de Redes de Comunicaciones

3

Clientes y servidores
• Aplicaciones Cliente/Servidor • Cliente:
–Programa que ejecuta el usuario – Solicita un servicio a una máquina

UNIVERSIDADE DA CORUÑA

• Servidor:
– Ofrece un servicio a múltiples clientes

• Ejemplos: telnet, ftp, web, echo

Octubre 2007

Laboratorio de Redes de Comunicaciones

4

Ejemplo: Servicio de telnet

UNIVERSIDADE DA CORUÑA

Ejecuta un telnet

Servidor de telnet: telnetd

Octubre 2007Laboratorio de Redes de Comunicaciones

5

Conceptos básicos de redes
• En Internet se utiliza la pila de  protocolos TCP/IP para el  establecimiento y realización de  conexiones, basado en un  conjunto de protocolos  organizados en diferentes  niveles: Enlace / Red /  Transporte / Aplicación. Normalmente, cuando se  escriben aplicaciones Java en  Red se programa a nivel de  aplicación.Es posible realizar programas a  más bajo nivel utilizando la  API java.net => nivel de  transporte => TCP /UDP.

UNIVERSIDADE DA CORUÑA

Capa de Aplicación (HTTP, ftp, telnet) Capa de Transporte (TCP, UDP) Capa de Red (IP) Capa de Enlace (Ethernet, ...)





Octubre 2007

Laboratorio de Redes de Comunicaciones

6

Capa de Transporte: TCP vs UDP
• TCP: Transmission Control Protocol
–Protocolo orientado a conexión – Provee un flujo de bytes fiable entre dos ordenadores.
• Llegada en orden, correcta, sin perder nada.

UNIVERSIDADE DA CORUÑA

– Protocolos del nivel de  aplicación que usan TCP: telnet, http, ftp.

• UDP: User Datagram Protocol
– No orientado a conexión. – Envía paquetes de datos (datagramas) independientes sin  garantías. –Protocolos del nivel de aplicación que usan UDP: tftp, ping. – Permite broadcast.
Octubre 2007 Laboratorio de Redes de Comunicaciones 7

¿Qué es un puerto?
• • • •

UNIVERSIDADE DA CORUÑA

Un ordenador tiene una o varias conexiones físicas a la red. A través de esas conexiones recibe los datos dirigidos a la máquina. ¿Cómo determinar a que aplicación enviar los datos?  Puertos.
–TCP y UDP utilizan los puertos para dirigir los datos a la aplicación  correcta de entre todas las que se estén ejecutando en la máquina.

Los datos transmitidos a través de Internet contienen información de  direccionamiento que identifica a la máquina y puerto a los que van  dirigidos.
– La máquina se identifica a través de una dirección IP de 32 bits.  – Los puertos se identifican por un número de 16 bits.



Puertos:– Independientes para TCP y UDP. – 16 bits  Rango: 0 a 65535. – Reservados: 0 a 1023 (“well known ports”)
• Para servicios conocidos: HTTP,FTP, … • No deberían ser utilizados por aplicaciones de usuario.

Octubre 2007

Laboratorio de Redes de Comunicaciones

8

TCP

UNIVERSIDADE DA CORUÑA

• Una aplicación servidora se registra en un puerto concreto.
–...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programacion concurrente
  • PROGRAMACION CONCURRENTE
  • programación concurrente
  • Programacion Java
  • Programacion Java
  • Programacion en java
  • programacion java
  • programacion en java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS