Codigo Cliente:
Código:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class ClienteUDPHora {
public static void main(String[] args) {
try {
DatagramSocket socketUDP = new DatagramSocket();
byte[] mensaje = args[0].getBytes();
InetAddress hostServidor = InetAddress.getByName(args[1]);
int puertoServidor = 5000;
//Construimos un datagrama para enviar el mensaje al Servidor
DatagramPacket peticion =
new DatagramPacket(mensaje, args[0].length(),
hostServidor, puertoServidor);
//Enviamos el datagrama
SimpleDateFormat dateFormat=new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss]");// Establecer el formato de fecha
System.out.println("Fecha y hora enviadas al servidor: "+dateFormat.format(new Date()));
socketUDP.send(peticion);
//Construimos el datagrama que contendra la respuesta
byte[] buffer = new byte[1000];
DatagramPacket respuesta = new DatagramPacket(buffer, buffer.length);
socketUDP.receive(respuesta);
//Enviamos la respuesta del servidor a la salida estandar
System.out.println("Respuesta: "+ new String(respuesta.getData()));
//Cerramos el soccket
socketUDP.close();
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class ClienteUDPHora {
public static void main(String[] args) {
try {
DatagramSocket socketUDP = new DatagramSocket();
byte[] mensaje = args[0].getBytes();
InetAddress hostServidor = InetAddress.getByName(args[1]);
int puertoServidor = 5000;
//Construimos un datagrama para enviar el mensaje al Servidor
DatagramPacket peticion =
new DatagramPacket(mensaje, args[0].length(),
hostServidor, puertoServidor);
//Enviamos el datagrama
SimpleDateFormat dateFormat=new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss]");// Establecer el formato de fecha
System.out.println("Fecha y hora enviadas al servidor: "+dateFormat.format(new Date()));
socketUDP.send(peticion);
//Construimos el datagrama que contendra la respuesta
byte[] buffer = new byte[1000];
DatagramPacket respuesta = new DatagramPacket(buffer, buffer.length);
socketUDP.receive(respuesta);
//Enviamos la respuesta del servidor a la salida estandar
System.out.println("Respuesta: "+ new String(respuesta.getData()));
//Cerramos el soccket
socketUDP.close();
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Codigo Servidor:
Código:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class ServidorUDPHora {
public static void main(String[] args) {
try {
@SuppressWarnings("resource")
DatagramSocket socketUDP = new DatagramSocket(5000);
byte[] buffer = new byte[1000];
while(true) {
//Construimos el DatagramPacket para recibir peticiones
DatagramPacket peticion = new DatagramPacket(buffer, buffer.length);
//Leemos una peticion del DatagramSocket
socketUDP.receive(peticion);
System.out.println("Datagrama recibido del host: "+ peticion.getAddress());
System.out.println(" desde el puerto remoto: "+ peticion.getPort());
//Construimos el DatagramPacket para enviar la respuesta
DatagramPacket respuesta = new DatagramPacket(peticion.getData(), peticion.getLength(),
peticion.getAddress(), peticion.getPort());
SimpleDateFormat dateFormat=new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss]");// Establecer el formato de fecha
System.out.println("Fecha y hora enviadas al cliente: "+dateFormat.format(new Date()));
//Enviamos la respuesta, que es un eco
socketUDP.send(respuesta);
}
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class ServidorUDPHora {
public static void main(String[] args) {
try {
@SuppressWarnings("resource")
DatagramSocket socketUDP = new DatagramSocket(5000);
byte[] buffer = new byte[1000];
while(true) {
//Construimos el DatagramPacket para recibir peticiones
DatagramPacket peticion = new DatagramPacket(buffer, buffer.length);
//Leemos una peticion del DatagramSocket
socketUDP.receive(peticion);
System.out.println("Datagrama recibido del host: "+ peticion.getAddress());
System.out.println(" desde el puerto remoto: "+ peticion.getPort());
//Construimos el DatagramPacket para enviar la respuesta
DatagramPacket respuesta = new DatagramPacket(peticion.getData(), peticion.getLength(),
peticion.getAddress(), peticion.getPort());
SimpleDateFormat dateFormat=new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss]");// Establecer el formato de fecha
System.out.println("Fecha y hora enviadas al cliente: "+dateFormat.format(new Date()));
//Enviamos la respuesta, que es un eco
socketUDP.send(respuesta);
}
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}