2011-04-03 71 views
1

我想用java構建遠程桌面應用程序。爲此,我計劃使用Robot拍攝屏幕截圖並將其轉換爲字節數組(bmp圖像)併發送。在服務器端將圖像讀入字節數組並轉換成圖像並顯示。將連續的圖像與先前的圖像進行比較,並且僅發送不同的字節(以及開始索引,其中差異開始和差異長度)。在服務器端,我只讀取差異字節並構建圖像。需要網絡上的圖像傳輸幫助

這種方法適用於互聯網(中等速度)嗎?

請指定任何更好的方法來做到這一點,如果你覺得這不會在互聯網上工作。

回答

2

這聽起來與VNC protocol相似(在很高的水平上)。你可以只採用它使用的協議(RFB-遠程幀緩衝區),或者至少看看它以獲得一些想法(使用矩形來表示屏幕上的區域)已經改變了聲音比索引改變成一個字節數組)。該文檔可以找到here

+0

感謝您的回覆。但是屏幕上的變化一般不會總是變化很大。考慮編輯文本或移動鼠標指針的正常操作。每次拍攝屏幕圖像時,通常會有一小部分圖像發生變化。如果這部分被髮送,那麼網絡流量會大大減少。請讓我知道我是否在任何地方都是錯誤的。 – hnm 2011-04-03 08:15:33

+0

你沒有錯,但我認爲索引到字節數組並不是最好的方法。 VNC通過發送一系列矩形差異來解決這個問題。除非我沒有正確理解,否則我認爲發送位圖圖像的索引不會那麼好。 – 2011-04-03 08:17:03

+0

謝謝。我將通過VPN協議並瞭解如何將其應用於我的程序。 – hnm 2011-04-03 08:24:34