java远控_Java实现远程控制技术完整源代码分享

Java实现远程控制技术java自带的java.net.和java.awt.robot. 的混合可以用于实现通过网络对另一台计算机的远程控制,其中包括控制远程计算机鼠标的动作和键盘的输入,以及实时获得远程计算机屏幕的图像。本文将用简洁的语言和由浅入深的逻辑,教大家如何掌握这个技术。首先先看一下效果图:远程端计算机界面:控制端计算机界面:控制端输入:远程端输入:一下开始详细介绍远程控制的技术思路。首...
摘要由CSDN通过智能技术生成

Java实现远程控制技术

java自带的java.net.和java.awt.robot. 的混合可以用于实现通过网络对另一台计算机的远程控制,其中包括控制远程计算机鼠标的动作和键盘的输入,以及实时获得远程计算机屏幕的图像。本文将用简洁的语言和由浅入深的逻辑,教大家如何掌握这个技术。

首先先看一下效果图:

远程端计算机界面:

4caeb9d6fb5faaa938ed32720144b969.png

控制端计算机界面:

1f1975b8f4b30925f7c892b9c188e62d.png

控制端输入:

89177a37e01eb12f1a5b9c301ce759ac.png

远程端输入:

9f06e9098e3294ea255d9c0f11321382.png

一下开始详细介绍远程控制的技术思路。

首先两台计算机通过java.net的Socket来进行连接。

一端先打开一个ServerSocket,然后另外一端用socket进行连接。

服务器端

应该设置一个ServerSocket,并且初始化需要用到的输入输出流:

public static void OpenServer() throws IOException, ClassNotFoundException{

System.out.println("ServerStart.....");

ServerSocket server = new ServerSocket(7777);

socket = server.accept();

System.out.println("连接上...\n"+socket);

OIS = new ObjectInputStream(socket.getInputStream());

OOS=new ObjectOutputStream(socket.getOutputStream());

}

客户机端

应该用socket去连接服务器,并且初始化输入输出流:

public static void StartConnection(String IP,int port) throws UnknownHostException, IOException, AWTException{

socket = new Socket("192.168.0.106",7777);

if(socket.isConnected()){

System.out.println("socket connected..."+socket);

}

OOS = new ObjectOutputStream(socket.getOutputStream());

OIS = new ObjectInputStream(socket.getInputStream());

}

这样两台计算机就链接在一起并且可以通过流(InputStream和OutputStream)来交换数据了

接下来大家可以想一想,要实现远程控制的两台计算机需要交换什么信息呢?首先被控制端需要不断向控制端提供截取的屏幕图像(这个我们将会用java.awt.robot来实现),然后鼠标和键盘根据控制端传来的事件(inputEvent)来做出相同的操作(用robot来实现)。然后控制端当然首

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现电脑远程控制的方式有很多种,其中常见的方法是使用 Socket 编程实现远程控制。下面是一个简单的 Java 实现远程控制的示例代码: Server 端代码: ```java import java.io.*; import java.net.*; public class Server { public static void main(String[] args) { try { ServerSocket server = new ServerSocket(8888); System.out.println("等待客户端连接..."); Socket socket = server.accept(); System.out.println("客户端已连接:" + socket.getRemoteSocketAddress()); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter out = new PrintWriter(socket.getOutputStream(), true); String inputLine; while ((inputLine = in.readLine()) != null) { System.out.println("收到客户端消息:" + inputLine); if (inputLine.equals("exit")) { break; } else { Runtime.getRuntime().exec(inputLine); out.println("命令已执行"); } } in.close(); out.close(); socket.close(); server.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` Client 端代码: ```java import java.io.*; import java.net.*; public class Client { public static void main(String[] args) { try { Socket socket = new Socket("localhost", 8888); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter out = new PrintWriter(socket.getOutputStream(), true); BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in)); String userInput; while ((userInput = stdIn.readLine()) != null) { out.println(userInput); if (userInput.equals("exit")) { break; } else { System.out.println("服务器回复:" + in.readLine()); } } in.close(); out.close(); stdIn.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 以上代码实现了一个简单的远程控制功能,可以通过客户端向服务器发送命令实现远程控制。需要注意的是,这个示例代码只是为了演示远程控制的原理,实际使用中还需要进行安全性考虑,避免被非法操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值