创意无限

2018-10-21 12:27薛婉婷海小娟徐伟杰张卫东陆晓雪
科技信息·中旬刊 2018年9期
关键词:远程控制

薛婉婷 海小娟 徐伟杰 张卫东 陆晓雪

摘要:本文描述以智能手机为主控端,直接控制个人电脑工作的系统的设计与实现。即当智能手机与电脑处于同一局域网下,使用TCP传输协议与一套自定义的应用层协议,通过Socket套接字向网络发出、应答请求,并连接智能手机以远程操控计算机。

关键词:Socket;手机连接电脑;远程控制

1.引言

随着科技的发展,当今的智能手机具备了除基本通信外的其它丰富且强大的功能,远程操作及控制技术越来越受到人们的关注。基于JAVA 与Socket技术结合的C/S远程操控系统软件打破了空间限制,使用户无需亲自前往目标位置,对受控机器的监控就可通过网络直接实现,并具有友好的操作界面。

本文具体讨论了如何通过Socket套接字实现手机与电脑的连接,通过智能手机发出指令,遥控电脑以实现打开电脑程序,打开电脑文件夹,关机,PPT控制以及捕捉电脑屏幕截图等功能。

2.远程控制

远程控制是指主控端通过远程控制软件向终端发送操作命令控制其完成某些工作,远程控制技术是目前比较流行的一种技术。

最理想的远程控制软件模式是一对多模式,即一台控制机可以控制多台电脑,且客户端能够展现全部电脑目录,再进行一系列的操作,如远程资源管理器等,这种技术将便利人类的生产和生活。

本软件所实现的是一对一的模式。与此同时,本文所谈的“远程”也并不等同于字面意思上的远距离,而是主控端和被控端在同一局域网下,不需要数据线,通过网络相互连接。

3.Socket

Socket的作用是将互联网中两个或者多个程序相互连接在一起,先实现虚拟机或者计算机之间数据的通信,最后将计算机中的应用进行连接,实现双向数据交换,。

Android系统与服务器间的通信方式以HTTP,Socket为主。这两种通信方式各有利弊,HTTP连接使用的是客户端请求—服务区端响应方式来进行前后端的通信,服务器要在客户端向服务器发送请求后接收到前端传来的数据参数,然后再根据不同情况做出不同的响应。而Socket则是在通信双方先建立连接,然后双方就可以直接进行任意的数据交换,而且可主动推送信息,不必频繁的每次都向服务器重新发送请求。

系统的数据报套接字应用程序根据规定的事件序列完成应用程序和服务器间的通信,如图1所示:

4.设计与实现

该系统采用C/S架构,Java语言编程,包括了PC端(服务器端)和手持设备端(客户端)及用于服务器和客户端之间通信的应用层协议。

智能手机是客户端,即请求发出端;受控PC机为服务端,即请求接收端。首先在服务器端和客户端上分别安装并启动相应的服务程序。然后,在智能手机上进行相应的操作向服务器程序发出信号,输入程序设置的服务器的IP地址,并基于TCP协议建立远程服务连接。最后通过该远程服务,使用各种远程控制功能发送相应的远程控制指令,服务器端响应接收的命令并将其转换为特点的操作,再根据程序设置的规则执行。

4.1服务器端设计

服务器端软件设计有三个关键问题需要解决:一是数据的连接;二是接收、解析并执行客户端发出的命令;三是及时、正确地将电脑桌面图像,桌面文件及应用程序传输到客户端程序。服务器端软件设计目标是在不降低用户体验的情况下,尽可能的降低数据流量的消耗。在C/S模式中,服务器程序通常会提前启动并在其熟知的端口上侦听客户端发送的请求。

考虑到在服务器运行期间出现可能有多个客户端同时连接到此服务器的情况,因此选择采用多线程来实现连接过程。由于计算机在同一时间内只能由一部智能手机控制,因此选择由while()循环实现,若accept()方法成功并执行完该次连接,则继续接收下一次的连接请求。由于socket通信是使用一次长连接,故采用while(true)的形式用于连续的接受客户端发送的控制命令并执行它,而不会在执行了一个操作后就结束了,从而导致异常。

Sever端接受到client端通过Socket传输的命令后,通过既定的一系列解析规则,将命令转化为相应代码以执行对应的操作。

对于桌面图像的获取,则有相应的图像处理模块针对电脑桌面进行实时截屏,截图获取成功后对图片进行相应的压缩和缩放以解决手机与电脑屏幕分辨率不同的问题。

服务器端软件设计流程图如图2所示:

4.2 客户端设计

客户端软件设计的基本任务是向用户提供一系列模拟PC操作方案,并向服务器发送用户是操作指令。作为电脑的“遥控器”,客户端的设计要兼具便捷与美观,用户在通过“遥控器”操控电脑时,复杂繁琐的操作势必会影响用户的使用体验。

我们在智能手机上点击使用图形界面对计算机进行操控的时候,指令并不是在主控端实现的,主控端的指令通过一系列的压缩转换为信号传送到被控端,被控端接收、分析信號,然后执行相应的指令并将执行的结果传输到服务器端。

当客户端应用程序需要某项服务,要向服务器发送请求,服务器会在收到请求后将相应的信息发送回客户端。如此客户端应用程序与服务器程序便建立了通信连接,并且可以在以后知悉数据通信。通信连接需要在通信任务完成后关闭。

远程控制必须通过网络才能进行,因此在网络模块中,其主要解决网络的连接与关闭,客户端时刻侦听连接请求,与服务器建立网络连接。其相互之间的连接过程如下图图3所示:

4.3系统整体结构

该程序总体采用C/S模式,分为两部分:服务器端和客户端。

手机控制端又分为:

信息记录组件:编辑录入服务器信息,及服务器的IP地址和连接名称。

套接字建立组件:通过Socket方法建立计算机或虚拟机之间的连接,并实现应用之间的数据交换。

数据传输组件:主要实现对用户的命令的传输。

PPT翻转组件:首先可以实现PPT的连续播放。并可通过用户操作及手机音量键来间接控制PPT的前后跳转。

受控服务器端主要负责接收智能手机控制端发送的Socket连接请求,建立Socket通信,同时在一个连接上进行长通信,执行从手机控制端发送的控制命令等。包括下列几个模块:

套接字建立组件:同客户端一样,服务器端也通过套接字构建模块实现智能手机与电脑之间的通信连接。

数据传输组件:主要用socket()方法传输电脑文件以及屏幕图像。

鼠标控制组件:实现用户对鼠标的直接操作。为了更加精确的控制鼠标的移动,设计时将鼠标移动的偏移值设置在一个合理的范围内,以避免出现鼠标移动不准确或鼠标移动显示不平滑等现象。

4.4系统效果截图

系统主要实现在手机利用WIFI实现局域网控制或手机联网下登陆服务器与电脑端进行连接,从而在手机上对电脑进行需要的操作,具体功能有文件互传,播放PPT,获取屏幕截图,打开小程序等等。具体功能截图示例如图4、图5所示:

5.意义

随着科学技术的不断发展,人们对电子设备的要求日益提高,尤其是电子设备的便携性与易用性,手机远程控制电脑软件可以解放出门时必须携带电脑的负担,简化生活,增加学习工作的效率。特别在如今媒体教学的趋势下,利用智能手机的无线网络和触屏功能实现智能遥控的应用已受到广泛关注,为人们实现无线遥控功能提供了可能。智能手机程控制电脑技术可以充分利用学校提供的局域网,解决教学过程中教师站位问题;由于手机是日常均会携带的设备,同时一般人们都能保证手机具有足够的电量,故不会为解决无线播放带来额外的负担,因而有利于教学质量的提升。

6.结束语

本文介绍了通过智能手机计算机的远程控制系统的设计与实现。此系统通过智能手机的图形界面和按钮模型模拟计算机的键盘和鼠标事件,手机可以取得电脑桌面,打开电脑软件,播放PPT,遥控电脑打开文件、應用程序、关机等,实现了智能手机作为电脑遥控器的功能。

参考文献:

[1]秦耕,程克非,张亚奎.基于智能手机的电脑远程控制系统设计[J].无线互联科技,2010(2):44—46

[2]郭玉芝.基于Socket的实验室教师机远程控制系统的设计与研究[D].青岛:中国海洋大学,2011

猜你喜欢
远程控制
基于SMS的汽车远程智能控制系统设计
智能可调节动作识别型节能风扇的设计
水冷发射机冷却系统故障分析及解决方案
基于GSM的远程控制系统
短波发射台节目传输控制系统及技术改造
变电站远程监控系统的设计
发射机自动控制系统分析及自动化改造