• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于JAVA的遠程控制系統(tǒng)的設計與實現(xiàn)

      2020-01-06 07:55:23杜興華
      銀幕內外 2020年8期
      關鍵詞:多線程遠程控制

      杜興華

      摘要:遠程控制系統(tǒng)JPCAnyWhere采用主控端/被控端的設計結構,通過對系統(tǒng)事件隊列進行Socket通信的方法傳遞事件。通過Java JDK中的Robot對象,該對象可以完成屏幕圖像截取,控制鼠標,鍵盤,如此便可以輕而易舉地實現(xiàn)遠程計算機的控制。遠程控制系統(tǒng)JPCAnyWhere通過在主控端輸入被控端的IP地址進行連接識別,在被控端通過Robot截取桌面圖像,通過Socket通信傳給主控端,同時應用Java多線程的控制方法傳送、接受圖像和各種事件。本文對遠程控制系統(tǒng)JPCAnyWhere進行了介紹,詳細分析了其設計原理,主控端和被控端的設計流程,并測試了JPCAnyWhere的各項功能。

      關鍵詞:Java;遠程控制;Robot類;Socket;多線程

      一、計算機遠程控制相關技術綜述

      遠程控制技術基于Java的遠程控制系統(tǒng)的設計與實現(xiàn),電腦中的遠程控制技術始于DOS時代,當時由于技術上沒有什么大的變化,網(wǎng)絡不發(fā)達,市場沒有更高的要求,所以遠程控制技術沒有引起更多人的注意。但是,隨著網(wǎng)絡的高度發(fā)展,電腦的管理及技術支持的需要,遠程操作及控制技術越來越引起人們的關注。遠程控制一般支持下面的這些網(wǎng)絡方式:LAN、WAN、撥號方式、互聯(lián)網(wǎng)方式。此外,有的遠程控制軟件還支持通過串口、并口、紅外端口來對遠程機進行控制。傳統(tǒng)的遠程控制軟件一般使用NETBEUI、NETBIOS、IPX/SPX、TCP/IP等協(xié)議來實現(xiàn)遠程控制,隨著網(wǎng)絡技術的發(fā)展,對遠程控制軟件提供通過Web頁面以Java技術來控制遠程電腦的需求不斷增多,這樣可以實現(xiàn)不同操作系統(tǒng)下的遠程控制。

      二、系統(tǒng)分析

      對于具體功能,用戶要求實現(xiàn)對被控端進行各種鼠標和鍵盤操作,包括獲取目標電腦屏幕圖像、遠程關機、打開應用程序等。主控端能夠顯示被控端桌面,并且把基于被控端圖像上的鍵盤,鼠標事件通過Socket通信傳給被控端;被控端能夠響應主控端的鼠標鍵盤事件。UDP協(xié)議的全稱是用戶數(shù)據(jù)報,在網(wǎng)絡中它與TCP協(xié)議一樣用于處理數(shù)據(jù)包。在OSI模型中,在第四層——傳輸層,處于IP協(xié)議的上一層。 UDP有不提供數(shù)據(jù)報分組、組裝和不能對數(shù)據(jù)包的排序的缺點,也就是說,當報文發(fā)送之后,是無法得知其是否安全完整到達的。

      用戶數(shù)據(jù)報協(xié)議(UDP)是 OSI 參考模型中一種無連接的傳輸層協(xié)議,提供面向事務的簡單不可靠信息傳送服務。 UDP 協(xié)議基本上是 IP 協(xié)議與上層協(xié)議的接口。 UDP 協(xié)議適用端口分別運行在同一臺設備上的多個應用程序。

      協(xié)議結構:

      Source Port—16位。源端口是可選字段。當使用時,它表示發(fā)送程序的端口,同時它還被認為是沒有其它信息的情況下需要被尋址的答復端口。如果不使用,設置值為0。

      Destination Port—16位。目標端口在特殊因特網(wǎng)目標地址的情況下具有意義。

      Length—16位。該用戶數(shù)據(jù)報的八位長度,包括協(xié)議頭和數(shù)據(jù)。長度最小值為8。

      Checksum—16位。IP 協(xié)議頭、UDP 協(xié)議頭和數(shù)據(jù)位,最后用0填補的信息假協(xié)議頭總和。如果必要的話,可以由兩個八位復合而成。

      Data—包含上層數(shù)據(jù)信息。

      UDP協(xié)議使用IP層提供的服務把從應用層得到的數(shù)據(jù)從一臺主機的某個應用程序傳給網(wǎng)絡上另一臺主機上的某一個應用程序。

      在Java語言中,線程有如下特點:

      § 在一個程序中而言,主線程的執(zhí)行位置就是main。而其他線程執(zhí)行的位置,程序員是可以自定義的。值得注意的是對Applet也是一樣。

      § 每個線程執(zhí)行其代碼的方式都是一次順序執(zhí)行的。

      § 一個線程執(zhí)行其代碼是與其他線程獨立開來的。如果諸線程之間又相互協(xié)作的話,就必須采用一定的交互機制。

      § 前面已經(jīng)說過,線程是共享地址空間的,如果控制不當,這里很有可能出現(xiàn)死鎖。

      三、系統(tǒng)總體設計

      系統(tǒng)的實現(xiàn)原理如下:

      (1)被控端通過Robot截取桌面圖像通過socket通信傳給主控端。

      (2)主控端顯示被控端桌面,并且把基于被控端圖像上的鍵盤,鼠標事件通過socket通信傳給被控端。

      (3)被控端響應主控端的鼠標鍵盤事件。

      在系統(tǒng)設計過程中,將本著先進性、實用性、開放性、適應性、可擴展性、便利性、可靠性、安全性、經(jīng)濟性等原則。

      遠程控制系統(tǒng)100%的自主開發(fā),不利用第三方組件,為系統(tǒng)的開放性、可擴展性、可靠性提供有力保證。

      于Java的遠程控制系統(tǒng)JPCAnyWhere和其他遠程控制系統(tǒng)一樣具有網(wǎng)絡計算的功能,他們的不同之處就在于:基于Java的遠程控制系統(tǒng)JPCAnyWhere的設計重點是“與平臺無關”的特性,因此,我們的設計目標就是盡可能兼容各類計算機硬件和各種操作系統(tǒng)。在計算機硬件系統(tǒng)方面有大型機、工作站和 PC、Mac 等,在操作系統(tǒng)方面有 Windows 系列、Unix 系列、Linux 系列以及 Sun(R)Solaries系列等系統(tǒng)。

      四、系統(tǒng)詳細設計與實現(xiàn)

      主控端模塊的類及其作用,在確定軟件的包結構后,需要進一步確定軟件的類與接口。遠程控制系統(tǒng)JPCAnyWhere中各部分相對獨立,對于公共定義的各環(huán)境變量和線程管理接口等子模塊,可通過直接引用包含有該子模塊的類或接口來實現(xiàn)。

      根據(jù)本遠程控制系統(tǒng)的實現(xiàn)方法。

      五、結論

      本課題參照現(xiàn)有的遠程控制軟件,開發(fā)了一個基于Java的遠程控制系統(tǒng)JPCAnyWhere。遠程控制系統(tǒng)JPCAnyWhere在Eclipse3.2平臺上由Java語言開發(fā),其結構采用主控端/被控端的設計結構,通過對系統(tǒng)事件隊列進行Socket通信的方法傳遞事件。通過Java JDK中的Robot對象,該對象可以完成屏幕圖像截取操作,控制鼠標、鍵盤,如此便可以輕而易舉地實現(xiàn)遠程計算機的控制。

      遠程控制系統(tǒng)JPCAnyWhere通過在主控端輸入被控端的IP地址進行連接識別,在被控端通過Robot截取桌面圖像,通過Socket通信傳給主控端,同時應用Java多線程的控制方法傳送、接受圖像和各種事件。JPCAnyWhere的設計與實現(xiàn)中存在一些問題。例如在被控端主機上播放視頻時,在主控端傳輸過來的圖像無法顯示視頻信息;JPCAnyWhere支持的功能不是很豐富等。這些問題的出現(xiàn),使JPCAnyWhere的應用范圍受到限制。在下一階段的研究中,對課題的改進主要包括兩個方面,分別是對JPCAnyWhere功能的擴充,以及解決在實現(xiàn)過程中遇到的一些關鍵問題,包括視頻圖像的截取和傳輸問題等等。

      猜你喜歡
      多線程遠程控制
      Java并發(fā)工具包對并發(fā)編程的優(yōu)化
      水冷發(fā)射機冷卻系統(tǒng)故障分析及解決方案
      基于Arduino UNO的智能插座設計
      鹽城地區(qū)設計項目與課堂遠程互動的方式方法研究
      藝術科技(2016年10期)2016-12-14 00:11:02
      基于GSM的遠程控制系統(tǒng)
      基于多線程文件傳輸關鍵技術研究與實現(xiàn)
      網(wǎng)頁爬蟲技術的關鍵技術研究探索
      一種基于多線程的高速磁盤鏡像算法
      淮南市| 北碚区| 新巴尔虎左旗| 洪泽县| 建昌县| 平利县| 成武县| 靖边县| 得荣县| 泉州市| 辽阳市| 福鼎市| 安塞县| 泰宁县| 郧西县| 上高县| 突泉县| 夏邑县| 新干县| 绿春县| 乐昌市| 方正县| 滨海县| 法库县| 关岭| 博客| 习水县| 米林县| 屏边| 延安市| 龙海市| 淮北市| 奇台县| 昆明市| 志丹县| 麻江县| 金川县| 商河县| 土默特左旗| 杭锦后旗| 新泰市|