Código del servidor con corrutinas
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import java.net.ServerSocket fun main() { val server = ServerSocket(12345) println("Servidor esperando conexiones en el puerto 12345...") GlobalScope.launch(Dispatchers.IO) { val clienteSocket = server.accept() println("Cliente conectado desde: ${clienteSocket.inetAddress.hostAddress}") val mensajeRecibido = clienteSocket.getInputStream().bufferedReader().readLine() println("Mensaje recibido del cliente: $mensajeRecibido") clienteSocket.close() server.close() } } |
Código del cliente con corrutinas
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import java.io.OutputStream import java.net.Socket fun main() { val mensaje = "Hola desde el cliente" GlobalScope.launch(Dispatchers.IO) { val clienteSocket = Socket("localhost", 12345) val outputStream: OutputStream = clienteSocket.getOutputStream() outputStream.write("$mensaje\n".toByteArray()) println("Mensaje enviado al servidor: $mensaje") outputStream.close() clienteSocket.close() } } |