Nothing Special   »   [go: up one dir, main page]

GUIA1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

GESTIÓN DE FORMACIÓN PROFESIONAL INTEGRAL

PROCEDIMIENTO DESARROLLO CURRICULAR


GUÍA DE APRENDIZAJE

1. Identificación de la guía de aprendizaje

Denominación del Programa de Formación: desarrollo de applets/aplicaciones con

uso de base de datos, redes, servlets y multimedia.

Código del Programa de Formación: 21450167

Competencia 220501007 construir el sistema que cumpla con los requisitos de la

solución informática.

Resultados de Aprendizaje Alcanzar: Conocer y aplicar los elementos del trabajo con

redes en la construcción de aplicaciones.

Duración de la Guía: 10 Horas

2. Presentación

Apreciado aprendiz, bienvenido a la guía de la segunda actividad de aprendizaje. Las

redes de computadores han permitido conectar el mundo. Se puede decir que internet es

una red mundial de dispositivos conectados. Java proporciona una serie de clases que

pertenecen al paquete java.net que permiten construir aplicaciones que usen redes

computacionales. Es muy importante que usted aprenda a construir aplicaciones que se

conecten entre sí a través de sockets. A través de las actividades de esta guía usted va a

afianzar los conocimientos recibidos a través del material de formación. Recuerde la

GFPI-F-019 V3
Página 1 de 10
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

importancia de desarrollar las actividades y las entregarlas a través de la plataforma en

los plazos establecidos.

3. Formulación de las actividades de aprendizaje

3.1.1. Preguntas de reflexión.

Cuando dos computadoras se conectan entre sí, lo hacen a través de un protocolo de

comunicación. Estos pueden ser TCP (Transmission Control Protocol) y UDP (User

Datagram Protocol).

TCP – Transmission Control Protocol

“TCP es un protocolo orientado a conexión que permite conectar dos aplicaciones de

manera confiable. Una vez establecida la comunicación se crea un canal a través del cual

cada una de las partes pueden enviar y recibir datos. TCP garantiza que los datos recibidos

en un extremo y en el otro sean íntegros y si esto no llegase a ocurrir reportará un error.”

(SNAJDLEDER 2013 pág. 218).

Este protocolo permite entonces, tener la confiabilidad que el dato que el emisor envía,

será el mismo que el receptor reciba. Una analogía de este protocolo puede ser una

llamada telefónica, el emisor llama al receptor, y cuando esta contesta se establece una

comunicación bidireccional. En caso de ocurrir alguna falla en la comunicación, ambos

extremos se darán cuenta.

UDP – User Datagram Protocol

GFPI-F-019 V3
Página 2 de 10
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

A diferencia de TCP, la conexión establecida por el protocolo UDP no es confiable. En

UDP los datos son enviados a través de Datagramas, que son paquetes de datos

independientes. En este protocolo los datos no llegan necesariamente en el orden en que

fueron enviados. Al no tener que preocuparse por garantizar la entrega de la información,

este protocolo es más rápido que TCP.

Es importante que usted reconozca dependiendo del tipo de aplicación, que protocolo se

usa.

• Investigue cómo funciona el protocolo TCP, y el UDP. Puede buscar videos

explicativos.

• Responda ¿Por qué es necesario usar el protocolo TCP para una conexión http (una

consulta de una página web)?

3.2 Actividades de contextualización e identificación de conocimientos necesarios

para el aprendizaje

• Realice la actividad didáctica “Codificando interactivamente” que encontrará en el

material de formación de la actividad 2. En ella reconocerá los métodos usados para

realizar una conexión básica de cliente / servidor por socket en Java. Para acceder

a ella siga los siguientes pasos:

1. Ingrese al enlace Actividad 2.

2. Ingrese a la versión multimedia del Material de Formación Actividad 2.

3. Haga clic sobre el botón Menú.

GFPI-F-019 V3
Página 3 de 10
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

4. Ingrese al botón Actividad de Afianzamiento.

5. Desarrolle lo que allí se le indica.

• En el material de formación 2, se explicó un ejemplo de una aplicación cliente

servidor en la cual, el cliente envía textos al servidor, y este identifica si el texto

contiene la vocal “a” y le responde al cliente afirmativa o negativamente. Piense en

otra aplicación que se le pueda dar a ese código (El servidor recibe un texto y

responde al cliente), realice los ajustes requeridos en la clase del servidor y participe

en la actividad creando una página Wiki con el contenido de la clase servidor que

usted creó y explicar la funcionalidad. Comente las wikis de otros 2 compañeros

aprendices. El código fuente de ejemplo del Cliente y Servidor es:

ServidorSocket2.java

_____________________________________________________________________________

import java.io.*;

import java.net.*;

public class ServidorSocket2{

public static void main(String[] args){

ServerSocket ss = null;

Socket s = null;

BufferedReader textoRecibidoDelCliente;

DataOutputStream textoEnviarAlCliente;

String stringRecibido;

try{

ss = new ServerSocket(5432);
GFPI-F-019 V3
Página 4 de 10
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

System.out.println("Servidor escuchando");

//Esperando a recibir una conexion de cliente en puerto 5432

s = ss.accept();

System.out.println("Ya se conecto el cliente");

textoRecibidoDelCliente = new BufferedReader(new

InputStreamReader(s.getInputStream()));

textoEnviarAlCliente = new DataOutputStream(s.getOutputStream());

// Recibir y responder hasta que llegue vacio

do{

stringRecibido = textoRecibidoDelCliente.readLine();

System.out.println("Llego el texto: " + stringRecibido);

//Respondemos al cliente. En este caso, devolvemos respuesta si hemos encontrado

//la vocal a en el texto recibido

String stringBuscar = "a";

int posicionResultado=stringRecibido.indexOf(stringBuscar);

//indexOf si encuentra la vocal a devolvera un entero con el número de posicion,

//si no encuentra devuelve -1

if (posicionResultado == -1){

textoEnviarAlCliente.writeUTF("No se encontro la vocal a. ");}

else {

textoEnviarAlCliente.writeUTF("Si se encontro la vocal a");

}while(stringRecibido.length()!=0);

//Enviamos mensaje de cierre de conexion.

System.out.println("Ya termine de recibir, cerrando conexión");

textoEnviarAlCliente.close();

textoRecibidoDelCliente.close();

s.close();

ss.close();

}catch (IOException e){

System.err.println(e.getMessage());

System.exit(1);

GFPI-F-019 V3
Página 5 de 10
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

ClienteSocket2.java

import java.io.*;

import java.net.*;

public class ClienteSocket2 {

public static void main(String[] args) throws Exception {

Socket s=null;

PrintWriter textoAlServidor;

BufferedReader textoDelTeclado;

DataInputStream textoDelServidor;

String tecleado;

try {

s=new Socket("127.0.0.1",5432);

System.out.println("Ya me conecte al servidor");

//Abrimos conexion texto del teclado

textoDelTeclado = new BufferedReader(new InputStreamReader(System.in));

//texto al servidor

textoAlServidor = new PrintWriter(s.getOutputStream(),true);

//texto del servidor

textoDelServidor = new DataInputStream(s.getInputStream());

do{

//Enviamos y recibimos informacion hasta

//que se envie vacio el texto.

System.out.print("Servidor recibiendo informacion, teclea un texto: ");

GFPI-F-019 V3
Página 6 de 10
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

tecleado = textoDelTeclado.readLine();

textoAlServidor.println(tecleado);

System.out.println("Respuesta = "+textoDelServidor.readUTF());

}while(tecleado.length()!=0);

System.out.println("Cliente termino de enviar");

//cerramos conexiones abiertes

textoDelServidor.close();

textoDelTeclado.close();

textoAlServidor.close();

s.close();

} catch (IOException e) {

e.printStackTrace();

3.3 Actividades de apropiación del conocimiento

Después de haber estudiado el material de formación, y haber realizado la actividad

anterior usted está listo para presentar la evaluación de conocimiento. En el botón de

Actividades 2, responda el “Cuestionario manejo de redes en JAVA”.

3.4 Actividades de transferencia de conocimiento

Realice la siguiente aplicación y entregue en un solo archivo comprimido el código fuente

de todas las clases desarrolladas a través del link “Creación de una aplicación con uso de

sockets” que se encuentra en el botón de actividades 2.

Problemas a resolver:

- Se requiere diseñar una aplicación servidor que reciba 10 números de una

aplicación cliente y en respuesta le muestre al cliente:

• Número mayor digitado

GFPI-F-019 V3
Página 7 de 10
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

• Número menor digitado

• La suma de todos los números digitados

El resultado se mostrará así: “El número mayor es XX, el número menor es YY, y la

suma de todos los números digitados es ZZ”.

3.5 Ambiente requerido

• Ambiente Virtual de Aprendizaje

3.6 Materiales

Material de formación:

• Codificar aplicaciones en Java usando las clases de manejo de Redes.

Material de apoyo:

• Documentación oficial clase InetAddress Java

• Documentación oficial clase Socket Java

• Documentación oficial clase ServerSocket Java

4. Actividades de evaluación

Evidencias de Aprendizaje Criterios de Evaluación Técnicas e Instrumentos de


Evaluación

Evidencias de Desempeño: Aplica la definición y uso de


Wiki: Aplicaciones con redes en los elementos del trabajo con
JAVA. redes en las aplicaciones Wiki
que lo requieren
Rúbrica TIGRE

Evidencias de Conocimiento: Entiende el concepto de


Cuestionario manejo de Redes socket de acuerdo a los Cuestionario
en JAVA. requerimientos de la Rúbrica de conocimiento
aplicación.

GFPI-F-019 V3
Página 8 de 10
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

Evidencias de Producto: Crea aplicaciones donde


Taller. Creación de una interactúan clientes y Taller
aplicación con uso de sockets. servidores. Rúbrica de producto

Crea aplicaciones en red que


empleen sockets.

Establece clientes y
servidores para la aplicación
que lo requiera.

5. Glosario de términos

TCP: protocolo de comunicación usado para aplicaciones que requieren confiabilidad en

los datos transmitidos.

UDP: protocolo de comunicación que envía los datos a través de paquetes de información

llamados datagramas. No proporciona confiabilidad, pero si mayor velocidad que el

protocolo TCP.

PUERTO: interfaz que permite que varias aplicaciones se conecten a través de un mismo

dispositivo de red redireccionando la información a través de unas direcciones virtuales.

DIRECCION IP: número de 32 bits que se le asigna a un equipo que pertenece a una red

IP. Está representado por 4 números decimales entre 0 y 255.

SOCKET: clase de java que permite conectar dos máquinas (cliente y servidor) a través

de un puerto.

SERVERSOCKET: clase de java que permite crear un servidor que es espera una

conexión SOCKET.
GFPI-F-019 V3
Página 9 de 10
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

6. Referentes bibliográficas

Sznajdleder, P. (2013). Java a fondo: estudio del lenguaje y desarrollo de aplicaciones.

2nd ed. Alfaomega Grupo Editor, página.218.

Docs.oracle.com. (2017). InetAddress (Java Platform SE 7). [online] Disponible en:

https://docs.oracle.com/javase/7/docs/api/java/net/InetAddress.html. Recuperado

el 11 Abril. 2017.

Docs.oracle.com. (2017). Socket (Java Platform SE 7). Disponible en:

https://docs.oracle.com/javase/7/docs/api/java/net/Socket.html .Recuperado el 11

Apr. 2017.

Docs.oracle.com. (2017). ServerSocket (Java Platform SE 7). [online]. Disponible en:

https://docs.oracle.com/javase/7/docs/api/java/net/ServerSocket.html. Recuperado

el 11 Apr. 2017.

7. Control del documento

Nombre Cargo Dependencia Fecha

Autor (es) Manuel Fernando Celemín Gestor de Nodo Tolima 2017-04-11

Coneo Curso

GFPI-F-019 V3
Página 10 de 10

También podría gustarte