Para crear una aplicación que utilice UDP para establecer la conexión entre un cliente y un servidor, debemos realizar los siguientes pasos:
- Crear un programa de servidor
- Crear un programa de cliente
- Ejecutar el programa cliente y servidor.
Realicemos los pasos en las siguientes subsecciones:
Crear el programa del servidor
Vamos a crear la clase de servidor, denominada UDPServerEx, que toma los mensajes de un usuario y los envía (datagramas) a los clientes. El Listado 1 muestra el código del archivo UDPServerEx.java :
Nombre de archivo: UDPServerEx.java
Java
// A server that sends messages to the client import java.net.*; class UDPServerEx { public static DatagramSocket mySocket; public static byte myBuffer[] = new byte[2000]; public static void serverMethod() throws Exception { int position = 0; while (true) { int charData = System.in.read(); switch (charData) { case -1: System.out.println( "The execution of " + "the server has been terminated"); return; case '\r': break; case '\n': mySocket.send( new DatagramPacket( myBuffer, position, InetAddress.getLocalHost(), 777)); position = 0; break; default: myBuffer[position++] = (byte)charData; } } } public static void main(String args[]) throws Exception { System.out.println("Please enter some text here"); mySocket = new DatagramSocket(888); serverMethod(); } }
Para compilar el archivo UDPServerEx.java:
D:\UDPExample>javac UDPServerEx.java
Nota: La ruta puede variar según el lugar donde guarde el archivo.
Creando el Programa Cliente
Vamos a crear una clase de cliente, llamada UDPClient, que acepte los mensajes enviados desde el servidor, clase UDPServerEx. Luego, el cliente muestra los mensajes recibidos en el símbolo del sistema. El Listado 2 muestra el código del archivo UDPClient.java :
Nombre de archivo: UDPClient.java
Java
// UDPClient that receives and // displays messages sent from the server import java.net.*; class UDPClient { public static DatagramSocket mySocket; public static byte myBuffer[] = new byte[2000]; public static void clientMethod() throws Exception { while (true) { DatagramPacket dataPacket = new DatagramPacket(myBuffer, myBuffer.length); mySocket.receive(dataPacket); System.out.println("Message Received :"); System.out.println( new String( dataPacket.getData(), 0, dataPacket.getLength())); } } public static void main(String args[]) throws Exception { System.out.println( "You need to press CTRL+C" + " in order to quit."); mySocket = new DatagramSocket(777); clientMethod(); } }
Use el siguiente comando para compilar el archivo UDPClient.java:
D:\UDPExample>javac UDPClient.java
Producción
Nota: Para ejecutar las clases UDPServerEx y UDPClient, ejecute UDPServerEx.java y UDPClient.java en dos ventanas del símbolo del sistema separadas. Recuerde, la clase UDPServerEx se ejecuta antes que la clase UDPClient. La Figura 1 muestra el resultado de los archivos UDP Server java y UDPClient.java:
Publicación traducida automáticamente
Artículo escrito por aashrut123 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA