最近讓新來的實(shí)習(xí)生寫訂餐機(jī)器人,羽毛球活動(dòng)預(yù)定機(jī)器人,兩個(gè)人寫了幾個(gè)星期,看得我心急火燎?,F(xiàn)在的研究生啊。。。。
自己拿來skype4java看了一下,感覺很好用。里面提供了一個(gè)application機(jī)制,類似socket,又強(qiáng)于socket。為什么說強(qiáng)呢?因?yàn)槭腔趕kype, 穿透防火墻啦。
windows自帶的遠(yuǎn)程桌面很好用,在速度上,比以前基于位圖傳送的netmeeting/pcanywhere之類的都要強(qiáng)。
linux下面的遠(yuǎn)程桌面做的比較好的是nx系列。但是這些遠(yuǎn)程桌面的致命問題就是網(wǎng)關(guān)、防火墻問題。
就是說你要在家訪問公司電腦,基本上要在防火墻上鑿洞,或者借助于vpn,softether之類的東東。
skype的application利用skype自身的通訊機(jī)制,屏蔽了這些問題,當(dāng)然,你的應(yīng)用也必須依賴skype了。
java做遠(yuǎn)程桌面要能截屏、控制鼠標(biāo)鍵盤,所幸有java.awt.Robot, 原來這個(gè)東西是為了做自動(dòng)化測(cè)試,剛好。
剩下就是穿數(shù)據(jù)的問題。屏幕圖片,如果是bmp,比較碩大,即使是上網(wǎng)等文本界面,壓縮下來也要幾十k, 如果網(wǎng)絡(luò)帶寬不夠的話,比如公司有幾個(gè)下載愛好者,會(huì)比較慘。所以呢,決定傳差異,緩存前面的屏幕,看看如果差別不大,就只傳變化的部分。這樣數(shù)據(jù)量就比較小。但是呢,壓縮圖片的時(shí)候就不能采用有損壓縮啦,否則屏幕會(huì)變得越來越怪異。。。
比較遺憾的是沒能象windows自帶的rdp那樣攔截繪圖操作,在點(diǎn)陣圖的方案上效率還是比較低的。希望有高手指點(diǎn)!
skype4java是個(gè)日本人寫的,幾個(gè)聽了我介紹的朋友都有這疑問:日本人寫的?
呵呵,如果你能寫出更好的,咱就不用它。那個(gè)日本作者還不錯(cuò),上班比較忙,還是答應(yīng)抽空fix幾個(gè)bug,感謝中~
體驗(yàn)一下吧:
skypeRDP