Servidor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
import java.net.DatagramPacket import java.net.DatagramSocket fun main() { val puerto = 6000 try { val socket = DatagramSocket(puerto) val buffer = ByteArray(1024) println("Servidor UDP iniciado. Esperando mensajes...") val paquete = DatagramPacket(buffer, buffer.size) socket.receive(paquete) val mensajeRecibido = String(paquete.data, 0, paquete.length) println("Mensaje recibido del cliente: $mensajeRecibido") // Envío de respuesta al cliente val respuesta = "¡Hola, cliente UDP!" val bufferRespuesta = respuesta.toByteArray() val direccionCliente = paquete.address val puertoCliente = paquete.port val paqueteRespuesta = DatagramPacket(bufferRespuesta, bufferRespuesta.size, direccionCliente, puertoCliente) socket.send(paqueteRespuesta) socket.close() } catch (e: Exception) { e.printStackTrace() } } |
Cliente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import java.net.DatagramPacket import java.net.DatagramSocket import java.net.InetAddress fun main() { val host = "localhost" val puerto = 6000 try { val socket = DatagramSocket() val mensaje = "Hola, servidor UDP" val buffer = mensaje.toByteArray() val direccion = InetAddress.getByName(host) val paquete = DatagramPacket(buffer, buffer.size, direccion, puerto) socket.send(paquete) println("Mensaje enviado al servidor UDP") val bufferRespuesta = ByteArray(1024) val paqueteRespuesta = DatagramPacket(bufferRespuesta, bufferRespuesta.size) socket.receive(paqueteRespuesta) val respuesta = String(paqueteRespuesta.data, 0, paqueteRespuesta.length) println("Respuesta del servidor UDP: $respuesta") socket.close() } catch (e: Exception) { e.printStackTrace() } } |