Guía de Ejercicio 8_Sockets Datagrama y Stream_Paso de Mensajes ASC IIIC2015

Páginas: 13 (3167 palabras) Publicado: 3 de diciembre de 2015
UNIVERSIDAD CENTROAMERICANA
Pág. No. 1 de 23
Facultad de Ciencia, Tecnología y Ambiente / Coordinación ISTI
Arquitectura de Sistemas Concurrentes – IIIC2015
Guía de Ejercicio #8: Sockets Datagrama y Sockets en Modo Stream
Objetivo: Aplicar las técnicas básicas de sincronización y distribución para el envío y
recepción de mensajes utilizando Sockets Datagrama (sin conexión) y Sockets en ModoStream (con conexión).
Ejercicio #8.1: Socket de Datagrama Sin Conexión (Simplex)

Emisor_SDSC.java
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
/*
* Llamadas de métodos básicas para sockets datagrama sin conexión
*/
public class Emisor_SDSC {
// Una aplicación que manda un mensaje utilizando un socket datagrama
// sin conexión.
// Se esperan tresargumentos de línea de mandato, en orden:
//
//
//
public static void main(String[ ] args) {
if (args.length != 3)
System.out.println
("Este programa requiere 3 argumentos de línea de mandato");
else {
try {
InetAddress maquinaReceptora = InetAddress.getByName(args[0]);Ingeniería en Sistemas y Tecnologías de la Información

CML - 2015

UNIVERSIDAD CENTROAMERICANA
Pág. No. 2 de 23
Facultad de Ciencia, Tecnología y Ambiente / Coordinación ISTI
Arquitectura de Sistemas Concurrentes – IIIC2015
int puertoReceptor = Integer.parseInt(args[1]);
String mensaje = args[2];
// instancia un socket datagrama para mandar los datos
DatagramSocket miSocket = new DatagramSocket( );
byte[] almacen = mensaje.getBytes( );
DatagramPacket datagrama =
new DatagramPacket(almacen, almacen.length,
maquinaReceptora, puertoReceptor);
miSocket.send(datagrama);
miSocket.close( );
} // fin de try
catch (Exception ex) {
ex.printStackTrace( );
} // fin de catch
} // fin de else
} // fin de main
} // fin de class

Receptor_SDSC.java
import java.net.DatagramPacket;
importjava.net.DatagramSocket;
/*
* Llamadas de métodos básicas para sockets datagrama sin conexión.
*/
public class Receptor_SDSC {
//
//
//
//
//
//

Una aplicación que recibe un mensaje utilizando un socket datagrama
sin conexión.
Se espera un argumento de línea de mandato:

Nota: se debería especificar el mismo número de puerto
en los argumentos de línea de mandato del emisor.public static void main(String[] args) {
if (args.length != 1)
System.out.println
("Este programa requiere un argumento de línea de mandato.");
else {
int puerto = Integer.parseInt(args[0]);
final int MAX_LON = 50;

Ingeniería en Sistemas y Tecnologías de la Información

CML - 2015

UNIVERSIDAD CENTROAMERICANA
Pág. No. 3 de 23
Facultad de Ciencia, Tecnología y Ambiente / Coordinación ISTIArquitectura de Sistemas Concurrentes – IIIC2015
// Esta es la longitud máxima asumida en octetos
// del datagrama que se va a recibir.
try {
DatagramSocket miSocket = new DatagramSocket(puerto);
// instancia un socket datagrama para recibir los datos
byte[ ] almacen = new byte[MAX_LON];
DatagramPacket datagrama =
new DatagramPacket(almacen, MAX_LON);
miSocket.receive(datagrama);
String mensaje = newString(almacen);
System.out.println(mensaje);
miSocket.close( );
} // fin de try
catch (Exception ex) {
ex.printStackTrace( );
} // fin de catch
} // fin de else
} // fin de main
} // fin de class

Salida

Ingeniería en Sistemas y Tecnologías de la Información

CML - 2015

UNIVERSIDAD CENTROAMERICANA
Pág. No. 4 de 23
Facultad de Ciencia, Tecnología y Ambiente / Coordinación ISTI
Arquitectura deSistemas Concurrentes – IIIC2015
Ejercicio #8.2: Socket de Datagrama Sin Conexión (Duplex)

EmisorReceptor_SDSC.java
import java.net.InetAddress;
/*
Un proceso que envía y después recibe utilizando un socket datagrama.
*/
public class EmisorReceptor_SDSC {
// Una aplicación que manda y que después recibe un mensaje utilizando
// un socket datagrama sin conexión.
// Se esperan cuatro argumentos de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Guia de ejercicios
  • GUIA DE EJERCICIOS
  • GUIA DE EJERCICIOS
  • Guia ejercicios
  • Guia De Ejercicios
  • Guia De Ejercicios
  • ejercicios de guia
  • ejercicios de la guia

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS