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.awt.Robot import java.net.ServerSocket import java.net.Socket fun main() { val robot = Robot() val serverSocket = ServerSocket(12345) println("Servidor en espera de conexiones...") while (true) { val clientSocket = serverSocket.accept() println("Cliente conectado") val clientThread = Thread { val input = clientSocket.getInputStream().bufferedReader() while (true) { val message = input.readLine() ?: break val parts = message.split(",") if (parts.size == 2) { try { val x = parts[0].toInt()+10 val y = parts[1].toInt()+10 // Mover el ratón a la posición recibida robot.mouseMove(x, y) } catch (e: NumberFormatException) { e.printStackTrace() } } } } clientThread.start() } } |
Cliente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.io.PrintWriter import java.net.Socket import java.awt.MouseInfo import java.awt.Point fun main() { val clientSocket = Socket("localhost", 12345) val output = PrintWriter(clientSocket.getOutputStream(), true) while (true) { val mousePosition = MouseInfo.getPointerInfo().location val x = mousePosition.x val y = mousePosition.y val message = "$x,$y" output.println(message) Thread.sleep(100) // Envía la posición cada 100 milisegundos } } |