麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

遠程控制Java

2019-11-18 13:28:43
字體:
來源:轉載
供稿:網友

  ——使用VNCj將你的java用戶界面輸出到VNC閱覽器
  摘要
  目前,在地球的另一邊運行一個圖形終端并遠程控制一臺計算機是很普通的事情——這也是微軟為什么將遠程控制建立進Windows xp的原因。這篇文章將向你顯示如何輕松地使用通用虛擬網絡計算機(VNC)協議和一個小型自由庫將你的用戶界面在網絡上輸出到一個遠程計算機。 
  現在Windows XP通過網絡支持桌面遠程控制,我們可以就近看一個循環,一個靠近我們很久的循環。選程控制不是新的。實際上,主機啞終端只不過是為一個中心計算機進行遠程控制。小型機,象VAX(虛擬地址擴展),用分布式終端服務器網絡使主機的精確終端控制層次更復雜。在兩種情況里,一旦你從一個終端訪問登錄進一個計算機, 你就能在整個網絡中用終端仿真連接到其它計算機上。用位于地球另一端的一個主機,遠程控制忽然變得真正有力量。當ARPANet (高級研究項目代理網絡) 變成Internet時,小型啞終端能夠將你與世界連接。最后的技術發生在個人電腦變得可承受時,答應啞終端變成智能終端。隨著圖形終端的出現,你能夠象在你的辦公室一樣輕松地控制你的遠程計算機,唯一不同的是遲緩的性能。 
  然而,網絡帶寬已成為一個極大的問題。在一個局域網中從主機到終端傳輸圖形會工作得很好,但廣域網不能操作站點間的圖形遠程控制。期間,雖然PC變成智能終端那樣便宜,但當你在房間里擁有一臺時控制一個遠程計算機忽然變得毫無意義。 
  但是遠程控制不會消亡。公司發現給每一個職員提供一臺電腦將在維護上花費巨大。PC操作系統仍還不是“啟動以后就不管”。他們要求不斷地調整以保持每一天能夠繼續工作。終端再次象是一個好的主意。微軟抓住這一想法并引入了Windows終端服務器,這只不過是舊的X終端的一個克隆。最終將遠程控制帶進了家庭。在過去的幾年里,高速連接到辦公室和家庭變得很流行,并且我們現在看到許多專利產品不斷地滿足需求,答應我們通過我們的電話控制辦公室或家里的電腦。 
  微軟實際上也將遠程控制技術委托給我們這些在家里的傻瓜(記住,微軟也不得不給我們提供用戶支持!)代表一個20年舊模式的成功。用任意一臺電腦作為主機和終端,你所需要的一切就是在世界的任何地方訪問任何電腦的一個Internet連接。 
  因為遠程控制能力的所有刺激,你也應該擁有它。這篇文章介紹了一個自由的、百分之百的Java庫VNCj,并向你顯示了如何用它創建遠程控制的Swing,AWT(抽象窗口工具包),和在Java中能夠被任何VNC(虛擬網絡計算機)閱覽器訪問的應用程序。VNC 是一個由Olivetti研究實驗室最先開發的自由、超輕和流行的遠程控制系統。這以后成為了劍橋AT&T實驗室。它是微小終端,調用viewers,支持你所聽說過的任何平臺。包括一定數量的Java小程序。使用VNCj,用戶能夠從PDA、蜂窩式電話以及事實上所有的桌面訪問你的Java服務器。通過象素模式(看下面)和JNI(Java本地界面),VNCj甚至能夠服務非Java代碼。 
  遠程控制應用程序
  遠程控制電腦比遠程控制電視及烤箱設備有更復雜的特性。例如,從一開始,遠程控制就答應多個終端同時工作,這要求多任務處理及安全系統。經常這些系統被設計進操作系統,其維護很輕松因為你能在中心治理所有安全特權。一個缺點是:假如你在操作系統級別提供訪問,有人可能會通過“黑客”手段超出對他或她的約束,這已經發生過。另一個問題是遠程控制層不是總擁有我們所需要的特性。例如,不是所有操作系統都支持并發多用戶或能夠與我們的終端通信。 
  在應用程序級的遠程控制能夠解決這些問題。最差的安全漏洞可能帶來對應用程序本身的黑客攻擊。系統應該保持安全。當一個操作系統解決方案不得不是一般時,它們也能夠為特定的目標被設計。 
  在Java中寫一個遠程控制應用程序有許多優勢。首先,顯而易見是跨平臺。你能夠在任何服務器上運行你的應用程序,且用戶并不需要明白這些。但是Java也在為遠程控制方案提供自己的強大開發平臺。你能夠用Swing創建一個完全視窗化的界面并立即遠程輸出它因為Swing只使用了輕量級的Java產生的組件。同時,Java也包含一個強大的2D圖形庫能夠在一個內存緩沖里對于終端工作。任何與Java圖形附加的產品,如圖形信息系統(GIS)及3D建模都將立即工作。 
  假如你還沒有考慮過它,那么將你的下一個應用程序設計成支持遠程終端。你知道網絡瀏覽的兩個資源,用戶和服務提供者都是安全的和零部署的。遠程控制,象載入、共享這些特性使其為廣闊的部署更完美。實際上,這兩種部署方法能夠互相彌補。當啞終端遠程控制另一個版本時,智能終端將啟動你的服務器的另一版本。有一點是圖形遠程控制使服務器嚴重超負荷,它必須處理每一個用戶的界面。對于那些通常只有少數并發用戶的應用程序,如治理模塊,遠程控制是完美的。并且,假如你的環境已經被terminalized,則用戶可能期望從他們的終端獲得所有服務。他們將問你為什么新的服務不是。 
  用VNCj遠程控制Java
  VNCj為給VNC閱覽器提供Java服務支持六種不同的模式: 
  Swing模式
  因為AWT必須服務于低端普通特性, 用百分之百的Java寫Java的強大GUI(圖形用戶界面)是有意義的:它將被作為輕量級的AWT組件完全執行。副作用是盡管Swing模擬下面操作系統的外表,但在桌面上Swing仍顯得古怪。它做它自己的事情,并且它有的無論何種特性都是非凡編排進去的。對于用戶,這是不可思議的。在本地應用程序上工作的增強修正桌面不能與Swing工作。對于開發者,Swing象是一個多余和超重的(盡管是輕量級)已存在功能的復制。但是對于遠程控制用戶和開發者,Swing是一個祝福。 
  因為所有Swing組件都是Java產生的,它們能通過線路立即傳輸。使用VNCj,你能創建一個JDesktop,用JInternalFrames將其組裝,并將其發送至VNC閱覽器。Swing答應一個真的虛擬桌面。假如那是你想要的,就可以松口氣了。VNCj對于你設計Swing程序的通用技術沒有更多要求。同時注重,因為組件永不在屏幕上畫出,你能夠使用你想要的任何分辨率和顏色模式,甚至服務器不支持的一個圖形配置。較低性能的終端仍能訪問你的服務器,因為VNC必須降低圖形對閱覽器的要求。圖1顯示了Swing模式范例
   遠程控制Java(圖一)
  圖1 Swing模式
  AWT模式
  我知道AWT通常由繁重的組件構成,但這并不是不得不作的。你能夠用你自己的AWT同位體創建你的AWT。那是VNCj所作的:它使用Swing輕量級組件作為同位體。記住,我們的Swing組件是虛擬的。AWT模式是建立在Swing模式的上面,其又建立在VNC的上面。無論何處模式都沒有繁重組件。你能夠設計VNCj在缺乏AWT支持的機器上運行(VNCj 1.0,雖然,為了字體仍要求基礎AWT)。AWT模式提供與傳統代碼或平臺的兼容性。然而,對于GUI功能,應用Swing模式能做AWT能作的所有事情并且更多。而且,因為機載,模式對于用戶看上去都一樣,象圖2所示。 
  圖2 AWT模式
   遠程控制Java(圖二)
點擊查看大圖

  輕量級模式
  你的應用程序可能不需要一個視窗化GUI或它可能提供一個你自己設計的GUI。沒有問題,因為任何你創建的輕量級組件都能夠立即與VNCj一起工作。你只需要繼續java.awt.Canvas,調用getGraphics(),并作圖。你能夠完全訪問Java 2D庫以及任何服務AWT圖形的庫。包含在VNCj中的這個模式的演示創建了一個簡單畫線的畫布。因為輕量級模式答應共享會話(一個VNC特性),畫布是一個立即共享的白板(雖然你想避免鼠標指針沖突需要更多的工作)。圖3顯示了輕量級模式演示。 
   遠程控制Java(圖三)
  圖3 輕量級模式
  象素模式
  讓我們從圖片外得到AWT。象素模式讓你對一個發送至用戶的象素數組訪問,意思就是你來進行繪圖。但那可能正是你需要的。使用JNI,你能夠用非Java代碼填充這個數組并讓VNCj進行服務。這是VNCj能夠帶給你的最快速度。對于這個模式的演示是一個七段數字時鐘,通過在象素數組中填充繪圖。圖4顯示了這個例子。
   遠程控制Java(圖四)
  圖4 象素模式
  控制臺模式
  嗨,假如Swing能夠僥幸在桌面上仿效一個桌面,為什么不用一個GUI仿真一個控制臺呢?這個好主意可能對于你來說毫無意義。任何能夠運行一個VNC閱覽器的平臺也能運行Telnet。但它真的能嗎?假如你已經有一個建立好的VNC基礎構造,運行一個測試VNC閱覽器可以比胡亂設置Telnet模擬參數更簡單輕易地證實,通過Telnet客戶軟件其是不一致的。VNCj的控制臺模式答應你將一個控制臺仿真成一個VNC終端。不可思議,但坦率地說,它工作了。并且這有一個額外補貼:你能夠在一些用戶中共享控制臺,一個Telnet通常不能完成的任務。圖5顯示了一個控制模式。
  遠程控制Java(圖五)
  圖5 控制模式
  RFB模式
  對RFB (遠程幀緩沖),VNC的有線協議,在VNCj內被作為一個獨立庫執行。假如即使象素模式對你來說還不夠,RFB模式將取得成功。這個模式的演示使用AWT Robot類對客戶服務在桌面下的一個圖片,模擬VNC更多的普通用法:桌面遠程控制。這個演示真的只是一個玩具。假如你想要那種功能,可以安裝專用的VNC服務器。 
  一個遙遠的星球?
  我希望我已經激發了你的好奇心,但現在讓我給你潑點冷水。遠程控制能夠在許多情況下提供完美的解決方案,但是在其它方面只是一個折衷方案。遠程控制加重了網絡帶寬和服務器CPU的負荷,假如客戶能夠自己完成工作這完全是沒有必要的。究竟,我們的終端設備變得越來越智能,為什么不讓它們運行用戶界面呢?象越來越多的平臺能夠運行Java,真正的解決方案應該用JNLP(Java網絡啟動協議)啟動Java。將一個應用程序設計成支持JNLP和使用VNCj一樣輕易。因此,在我們到達完美的計算機世界之前

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 午夜视频国产 | 亚洲第一成网站 | 7777视频 | 成人一区二区在线观看视频 | 成人青青草 | 爱逼爱操综合网 | 黄网站免费入口 | 国产亚洲精品成人 | 日本成人在线免费 | 国产 日韩 亚洲 欧美 | 粉嫩蜜桃麻豆免费大片 | 久久不雅视频 | 成人性视频欧美一区二区三区 | 爱操视频 | 国产成人av免费观看 | 日韩激情在线视频 | 欧美在线黄色 | 精品一区二区三区在线观看视频 | 欧美激情猛片xxxⅹ大3 | 七首小情歌泰剧在线播放 | 色婷婷av一区二区三区久久 | 欧美视频一级 | 色综合视频 | 久久精品a一级国产免视看成人 | 色偷偷一区 | xnxx 美女19| 成人做爰高潮片免费视频美国 | 视频一区二区在线播放 | 黄色毛片前黄 | 久久激情小视频 | 国产成人小视频在线观看 | 成人在线免费看 | 精品久久久久久久久久久久 | 国产一区精品视频 | 欧洲精品久久久 | 国产亚洲精彩视频 | 爱操成人网 | a黄在线观看| 欧美一级做性受免费大片免费 | 最近免费观看高清韩国日本大全 | 精品一区二区三区免费看 |