?

創意無限

2018-10-21 12:27薛婉婷海小娟徐偉杰張衛東陸曉雪
科技信息·中旬刊 2018年9期
關鍵詞:遠程控制

薛婉婷 海小娟 徐偉杰 張衛東 陸曉雪

摘要:本文描述以智能手機為主控端,直接控制個人電腦工作的系統的設計與實現。即當智能手機與電腦處于同一局域網下,使用TCP傳輸協議與一套自定義的應用層協議,通過Socket套接字向網絡發出、應答請求,并連接智能手機以遠程操控計算機。

關鍵詞:Socket;手機連接電腦;遠程控制

1.引言

隨著科技的發展,當今的智能手機具備了除基本通信外的其它豐富且強大的功能,遠程操作及控制技術越來越受到人們的關注?;贘AVA 與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的遠程控制系統
短波發射臺節目傳輸控制系統及技術改造
變電站遠程監控系統的設計
發射機自動控制系統分析及自動化改造
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合