00:01
Hello, 大家好,今天给大家介绍一款用Java写的模仿向日葵的一个远程控制软件啊。这个是一个客户端,然后现在是我我需要演示嘛,就搞了两个客户端,一个客户端是在另一台电脑啊,这个这个录屏是录不到另一个客户端的。啊,首先。我们启动一个中转的服务器啊。我们把服务中转服务器启动。就是这个远程控制软件,它不仅仅适合局域网的,还适合两个端都在外网,都是可以相相互控制的啊。然后那个中转服务器启动,然后这个客户这里连接成功了。我先退出一下,看怎么启动客户端,启动客户端之前先配置一下这个中转服务器的地址啊,因为我是在本地,所以是12.0.0.1。然后。我们找到这个APP。
01:02
啊,然后去启动好。然后这是一些设备代码和验证码,由于我要控制另另外一台电脑,我就输入另外一台电脑。另外的电脑我已经启动了,我就直接输入了这里,你们是看不见。6462。好,我们点击链接。只是它就进入这是我的另另外一台电脑啊,我另外一台电脑,我们去去可以操控这个。可以操控这个鼠标啊。然后这里这个清晰度现在是是这个样子的,我们可以调清晰度啊。在这个视频测试里,我们把这个压缩质量调到1。他这里就是。原封的一个清晰度吧,然后我把这个质量调低一点,调低一点的话,它。传输的那个TCB包它就会很小,所以它反应就会很快啊,但是同时它这个质量就很差了。
02:01
我们调了调那个中等的,调了个0.0.6,差不多了。年龄差不多了。啊,然后这个清晰度。这个清晰度和这个反应反应速度都是很快的。然后我们我们在这里可以编程啊,我在这里可以远程。远程去建开的。你看我们这里编程都是都是可以的啊。我们输出一个CN点。银行这这一点都不卡,一点都不卡。然后我们这里输出移动号啊。远程控制。测试测试。我们同时我们同时可以运行啊。一下。
03:00
啊,你去。这个去哪里了?远程测试打印出了记,这是另外一台电脑,是另外一台电脑。然后这个才是我自己的电脑,这个是才是我自己电脑,然后这是一些信息。你们这里这里这里可以关闭了。方便。好,我们大致讲解一下这个代码。为什么需要中转服务器?这是中转服务器是必须的啊。它其实就是提供一个中转,比如说你一个客户端,A客户端首先是发送到中这个中转,中转服务器,然后通过这个中转服务器。转到这个另外一个客户啊。是通过这个中转的时候,是通过这个码,就是你这个并识别的识别码。
04:03
就是你客户端启动成功之后,连接中转服务器成功之后,它会注册码。注册后的嘛,然后。就会存储到一个这里啊。就会存储到这里。做到这个里面去啊。对,就存储到这些里面去啊,这是中现在讲的是中端服务器啊。就是一个课程码对应一个事情,这个事情就是你那个的一个年接啊。一个说的一个连接。啊,然后所有的消息处理。所有的消息处理都是在这里的啊,都是在这里的啊。这看到了统一里面,比如说处理心跳,现在就就就返回一个啊。然后还有获取自己的设备码,获取码就相当于一个注册,就生成一个呃,他自己的一个设备码,然后返回给他们,返回给这客户。然后还有还有处理,处理身份校验,就是你点连接的时候,他会去处理,先处理一个身份校验,看对方的这个识别码是不是真的,你别说我这里随便随便输一个。
05:07
随便说123456,别人不在线啊,不上线,他这这里是是提示不存在了啊。啊,然后这是获取对方屏幕,就是我要我要获取你的屏幕了,我要获取你的屏幕了。那这里其实就是。大家自己看啊可以看,然后屏幕数据转,就是你获方屏,然后对方屏幕自己的屏幕数据,屏幕数据,然后就到中转服务器,中转服务器,然后去去中转的呀。通过这找到这个中转的,找到这个中转的,通过课找到这个中转的,如果不等于他就直直接就找这个中转发过去了。你们数据发过去了。好,然后处理鼠标处理键盘的啊。然后客户端,客户端的话也是同样道理啊。客户端它首先是其中一个一个界面,这个界面我就不讲了,它实际上也也是在handle德尔处理的,也是在看德尔处理的。
06:08
就是客户端收到收到了一些包啊,收到了一些包。比如说。比如说我这里收到这个要分享自己屏幕了,他就去开启屏幕,屏幕配置。感谢屏幕分享。那首先是获取配置,然后去通过这个va service去去开启的,去这个去开启。它这里开启其实就是一个外循环啊,在相机里面无限循环。然后去首先是获取截屏,截屏的数据,然后是通过压缩,压缩之后,然后去发送给那个,对啊,就是控制版。控制班。发送给控制。然后这它的消息类型是分。好,同样我们看一下的转化啊。这是。
07:08
然后收到对方的屏幕,然后去就直接去展示这个屏幕,展示其实就是展示界面上。就把这个image转换成这个。通过这个IO去读取个buff,去显示到个屏面屏上。好,这里是处理鼠标处理键盘的啊。比如说鼠标,鼠标的话,它其实就通过这个鼠标稍去处理了。就是把对方的标的XY轴过来传过来,然后根据当前的这个D。然后去处理的。这个是这个是那个业务层,相当于一个业务层啊,就是业务层,然后这是网络框架,网络框架就是就是用说写了一个TCP框架啊,TCP基于TCP写了一个,呃,网络数据的读取。
08:11
好,这里还做了一些优化啊。然后嗯,大致的,大致的就是核心内容就是这些了,核心内容就是这些。有兴趣的可以联系啊,有兴趣的可以联系。
我来说两句