PDF de programación - Comunicaciones en Java

Imágen de pdf Comunicaciones en Java

Comunicaciones en Javagráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 9 de Enero del 2018)
678 visualizaciones desde el 9 de Enero del 2018
335,8 KB
12 paginas
Creado hace 14a (19/10/2009)
Comunicacion en Java

Alejandro Escobar

Introducción a las comunicaciones

Modelo básico de red

Imagen tomada de: http://java.sun.com/docs/books/tutorial/networking/overview/networking.html

Normalmente programamos sobre la capa de aplicación, es decir creamos
aplicaciones que utilizan algún medio de transporte

Introducción a las comunicaciones

El paquete java.net nos brinda las clases necesarias para la realización de aplicaciones.
Solo se hace necesario comprender los conceptos de transporte (UDP y TCP).

TCP (Transmission Control
Protocol)

UDP (User Datagram Protocol)

Se establece la conexión y se
envian los datos.

No se establece la conexión, se
envian datagramas de una
aplicación a otra

Protocolo basado en la
conexión, se garantiza el envio y
recepción de los datos

No se garantiza la recepción de
los paquetes enviados.

Introducción a las comunicaciones

Un computador generalmente tiene una conexión física de red, esto nos
lleva a preguntarnos, ¿Cómo sabe el computador a que programa le están
enviando datos? La respuesta es el concepto de puerto

Diferentes servicios, cada
servicio esta asociado a un
puerto

ftp 21/tcp
telnet 23/tcp
smtp 25/tcp mail
http 80/tcp

Dirección IP

Introducción a las comunicaciones

En una comunicación establecida por TCP, el recurso que actua como
Server mapea un socket con un puerto para establecer la comunicación.

Los protocolos TCP y UDP usa un mapeo de puertos para un proceso o
programa en particular que se este ejecutando en el computador (Server)

Imagen tomada de: http://java.sun.com/docs/books/tutorial/networking/overview/networking.html

Introducción a las comunicaciones

El rango de puertos disponibles va de 0 a 65,535, se ha reservado un rango
como puertos restringidos de 0 a 1023.

Mapeo de puertos Vs aplicaciones:

Imagen tomada de: http://java.sun.com/docs/books/tutorial/networking/overview/networking.html

Sockets - Clases TCP

TCP proporciona el protocolo necesario para establecer un canal de
comunicación en aplicaciones tipo Cliente / Servidor

Un socket es un punto final de comunicación de doble via bidireccional
entre dos programas que se ejecutan en la red. Un socket está mapeado a
un número de puerto para que la capa TCP pueda identificar la aplicación
que está destinada a recolectar los datos para ser enviados.

Proceso de comunicación

1. El cliente conoce con que server quiere

comunicarse

2. El cliente solicita una conexión con el

server, estableciendo la dirección IP del

server y el puerto de comunicaciones.

3. Si todo esta bien, el server acepta la

conexión con el cliente creando un

socket entre los ambos.

Proceso de comunicación

• Creación, establecer

comunicación y apertura

• Lectura, escritura, recepción y

envio de datos.

• Cierre y destrucción de la

conexión

1

2

3

Ejemplo de un cliente

• Socket echoSocket = new Socket(“nombremaquina", 7);
• out = new PrintWriter(echoSocket.getOutputStream(), true);
• in = new BufferedReader(new InputStreamReader(

echoSocket.getInputStream()));

• while ((userInput = stdIn.readLine()) != null) {

out.println(userInput);
System.out.println("echo: " + in.readLine());



• }

• out.close();
• in.close();
• stdIn.close();
• echoSocket.close();

1

2

3

Ejemplo tomado de http://java.sun.com/docs/books/tutorial/networking/sockets/readingWriting.html

Ejemplo de un Server

•ServerSocket serverSocket = new ServerSocket(4444);
•Socket clientSocket = serverSocket.accept();
•PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);


BufferedReader in = new BufferedReader( new InputStreamReader(

clientSocket.getInputStream()));













while ((inputLine = in.readLine()) != null) {

outputLine = kkp.processInput(inputLine);
out.println(outputLine);
if (outputLine.equals("Bye."))

break;

}

out.close();
in.close();
clientSocket.close();
serverSocket.close();

1

2

3

Ejemplo tomado de http://java.sun.com/docs/books/tutorial/networking/sockets/readingWriting.html

En general
  • Links de descarga
http://lwp-l.com/pdf8258

Comentarios de: Comunicaciones en Java (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad