close

作者: BeanSoft
日期: 2005 年 9 月
電子郵箱: beansoft@126.com
MSN: beansoftstudio@msn.com
感謝: keypoint PNG 圖像編碼器

警告: 這只是個演示程序, 所以請不要在您的服務器上運行它, 因為這很危險. 使用這個程序控制您電腦的人完全可以進行刪除, 修改文件, 重新啟動電腦等危險操作. 本程序僅用於學習研究的用途, 請勿用於其它此處未指明的場合.


[說明]
本遠程控制軟件只有鼠標左鍵和右鍵功能, 支持單擊和雙擊, 不支持拖動, 也支持鍵盤的操作, 但是不支持組合鍵, 可以配合服務器的 Tomcat 做為被控端服務器, 或者使用內置 HTTP 被控端服務器使用. 本程序的原理是利用 JDK 1.3 版本以後的類 java.awt.Robot 中的屏幕截圖和鼠標, 鍵盤自動控制功能, 然後加上了網絡傳輸功能來完成截屏和遠程控制的.
網絡連接的地址放在 conf/remote_control.properties 這個文件中, 如果要更改被控制的電腦, 請修改這一行:
remote_url_http = http://localhost:8080/rmc/screen.jsp
為您需要的地址就可以了.

使用時首先將 rmc.war 發佈到 Tomcat 服務器的 webapps 目錄下, 然後啟動被控端的 Tomcat. 在 Web 瀏覽器鍵入
http://localhost:8080/rmc/screen.jsp
可以看到當前 Tomcat 所在服務器的屏幕截圖; 另一個方法是:
運行內置的 HTTP 服務器, 用下列命令:
java -cp ./lib/rmc.jar studio.beansoft.remotecontrol.server.HttpMonitorServer
.

客戶端如果想控制主機的鼠標和鍵盤, 請運行:
runMonitor.bat
就可以操作遠程的電腦了, 但是響應速度比較慢, 最短響應時間也有 0.5 毫秒 請耐心等待, 鼠標不要點擊太快.
當前被控端只在 Windows 操作系統下測試過.

軟件目錄結構:
/conf 配置文件所在目錄
/src 源代碼目錄
/lib 庫文件
rmc.war 被控端所用的 Web App
readme.txt 本文
runMonitor.bat 啟動遠程控制的批處理文件
runHttpServer.bat 啟動內置 HTTP 被控端服務器
runTcpServer.bat 啟動內置 TCP 被控端服務器(不推薦使用)

開發工具: Eclipse 3.1 + Visual Editor + WTP

[如何運行]

首先請您閱讀文件 conf/remote_control.properties 中的註釋, 然後修改裡面的參數.
要運行這個控制端客戶機, 使用下列命令即可:
java -jar ./lib/rmc.jar
, 然後點擊菜單 文件 -> 連接.

如果要運行一個 HTTP 被控服務器, 有兩種辦法:
1) 發佈 rmc.war 到任意的 JSP/Servelt 服務器, 然後啟動服務器;
2) 運行內置的 HTTP 服務器, 用下列命令:
java -cp ./lib/rmc.jar studio.beansoft.remotecontrol.server.HttpMonitorServer
.

要檢驗 HTTP 服務器, 可以打開一個網頁瀏覽器, 例如 Firefox, 輸入:
http://localhost:6666/screen.jsp, 然後你將看到您自己電腦的屏幕圖像.

要運行 TCP 的被控端服務器, 鍵入下列命令:
java -cp ./lib/rmc.jar studio.beansoft.remotecontrol.server.TcpMonitorServer
.

警告: 通過目前不完全的測試, 已經發現在有固定 IP 的電腦上, TCP 版本的服務器
比 HTTP 版本的慢很多, 所以並不建議您使用它.

[配置文件註釋說明]
打開 conf 文件夾下的文件 remote_control.properties, 閱讀裡面的註釋並修改它.
如果只想做為一個客戶端, 只需要設置 remote_protocol, remote_url_http or remote_url_tcp(
到底需要哪個根據您選擇的協議而定). 如果想做為服務器端, (http 或者 tcp 協議), 那麼只有
server_port 這個屬性需要設置.
下面是屬性文件內容及其解釋:

# Server Remote Control Configuration File
# 服務器所用的協議, 有效值為 http 或者 tcp
remote_protocol = http
# 當所連接的服務器使用 HTTP 協議時, 這個值不能為空, 這是監控頁面的 URL 地址
remote_url_http = http://localhost:6666/screen.jsp
# 當所連接的服務器使用 TCP 協議時, 這個值不能為空,
# 這是服務器的 URL 地址, 格式是: [主機:端口], 端口可以為空, 默認端口號為 6666
remote_url_tcp = localhost:6666
# 如果本機想做為 TCP/HTTP 服務器,這個服務端口號必須被指定
server_port = 6666
下載:

javarmc1_0_1beta-with-src.zip
可是有個問題, 如果遠端主機進入了鎖定狀態, 截得的螢幕就是黑色的了... 還有就是增量傳輸沒有做, 螢幕大小也是固定死的..


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 delayer 的頭像
    delayer

    delayer's 學習筆記

    delayer 發表在 痞客邦 留言(0) 人氣()