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 |
import java.io.BufferedReader import java.io.InputStreamReader import java.io.PrintWriter import java.net.ServerSocket fun main() { val serverSocket = ServerSocket(12345) // Puerto del servidor println("Esperando conexión...") val clientSocket = serverSocket.accept() // Acepta la conexión del cliente println("Cliente conectado: ${clientSocket.inetAddress.hostAddress}") val input = BufferedReader(InputStreamReader(clientSocket.getInputStream())) val output = PrintWriter(clientSocket.getOutputStream(), true) // Leer mensajes del cliente y enviar respuestas while (true) { val receivedMessage = input.readLine() ?: break println("Mensaje del cliente: $receivedMessage") val response = "Mensaje recibido: $receivedMessage" output.println(response) } // Cerrar conexiones input.close() output.close() clientSocket.close() serverSocket.close() } |
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 |
import java.io.BufferedReader import java.io.InputStreamReader import java.io.PrintWriter import java.net.Socket fun main() { val clientSocket = Socket("127.0.0.1", 12345) // Conectar al servidor val input = BufferedReader(InputStreamReader(clientSocket.getInputStream())) val output = PrintWriter(clientSocket.getOutputStream(), true) val reader = BufferedReader(InputStreamReader(System.`in`)) // Enviar mensajes al servidor y recibir respuestas while (true) { print("Mensaje para enviar al servidor: ") val message = reader.readLine() ?: break output.println(message) val receivedMessage = input.readLine() println("Respuesta del servidor: $receivedMessage") } // Cerrar conexiones input.close() output.close() clientSocket.close() } |