Informe De Sockets
2011
|
En este informe número 1 se presenta de una manera clara ya detallada el concepto de sockets, el código de los mismos además de sockets cliente – servidor de tipo TCP y UDP | Clases y Tipos |
Universidad Ricardo Palma
Facultad de Ingeniería
Primer informe
* Montoya Díaz Diego Adrián
Tabla de Contenido
1. Interacción Cliente/Servidor consocket: TCP 2
1.1. Cliente TCP 2
1.2. Servidor TCP 3
2. Programación con sockets usando UDP 4
2.1. Cliente UDP 4
2.2. Servidor UDP 5
3. Tarea opcional (PDF Sistemas Distribuidos) 6
3.1. Cliente 6
3.2. Servidor 7
1. Interacción Cliente/Servidor con socket: TCP
2.1. Cliente TCP
package REDES2.clientetcp;
io: Provee al sistema entradas y salidas através de flujos de datos
import java.io.*;
import java.net.*;
public class Main {
Main es el método por defecto de las clases java para uso de consola
public static void main(String[] args) throws Exception {
String frase;
String fraseModificada;
System.out.println("Ingrese una palabra: ");
BufferedReader, que permite leer el texto de entrada, recibecomo parámetro un objeto de tipo reader
BufferedReader deUsuario = new BufferedReader(new InputStreamReader(System.in));
Define el objeto “socketCliente” de tipo Socket, que recibe como parámetros del constructor un string con el nombre del host y un int con numero de puertp
Socket socketCliente = new Socket("localhost", 6789);
Define el objeto “paraServidor” de tipoDataOutputStream, que recibe un parámetro de tipo outputStream
DataOutputStream paraServidor = new DataOutputStream(socketCliente.getOutputStream());
Define el objeto “deServidor” de tipo BufferedReader, con parámetros de entrada de tipo reader
BufferedReader deServidor = new BufferedReader(new
InputStreamReader(socketCliente.getInputStream()));
Se guarda en frase la palabraingresada por teclado
frase = deUsuario.readLine();
Escribe la cadena de caracteres como una secuencia de bytes.
paraServidor.writeBytes(frase + '\n');
Guarda en la variabale el resultado de la aplicación del servidor.
fraseModificada = deServidor.readLine();
Muestra por consola el resultado
System.out.println("Del Servidor: " + fraseModificada);
Cierra laconexión del socket.
socketCliente.close();
}
}
2.2. Servidor TCP
package servidorTCP;
import java.io.*;
import java.net.*;
public class Main {
public static void main(String[] args) throws Exception {
String fraseCliente;
String FraseMayusculas;
Define el objeto “socketReception” de tipo ServerSocket
ServerSocket socketRecepcion = newServerSocket(6789);
Bucle infinito que sirve de listener para esperar la conexion
while(true)
{
Con esta línea se acepta la conexión una vez recbida
Socket socketConexion = socketRecepcion.accept();
deCliente permite leer el flujo de datos de entrada
BufferedReader deCliente = new BufferedReader(new InputStreamReader(socketConexion.getInputStream()));paraCliente permite escribir el flujo de datos de salida
DataOutputStream paraCliente = new DataOutputStream(socketConexion.getOutputStream());
Recibe los datos de ingreso por consola del reader deCliente
fraseCliente= deCliente.readLine();
Transforma todo el contenido a maysuculas
FraseMayusculas= fraseCliente.toUpperCase() + '\n';Escribr un flujo de bytes (tipo de datos transmitidos) al cliente
paraCliente.writeBytes(FraseMayusculas);
}
}
}
2. Programación con sockets usando UDP
3.3. Cliente UDP
package clienteudp;
import java.io.*;
import java.net.*;
public class Main {
public static void main(String[] args) throws Exception {...
Regístrate para leer el documento completo.