電腦專業人士一定都用過遠端桌面或遙控監看遠端電腦的一些軟體,如Team Viewer之類的!這些軟體看起來蠻神奇的,但是在網路程式的觀點也不算太困難,我們因為有個系統整合的需求,必須從A電腦看B電腦畫面的即時狀況,但是不需要遠端控制,算是半套的遠端桌面吧?要將別人的軟體整合到自己的系統不但不方便,也可能有侵權之類的問題,所以就乾脆自己寫了!
Visual Basic 2012網路程式設計-線上遊戲實作
上面是我寫過的網路程式書,算是為此書打廣告或新增單元吧!就在此公開這個範例,基本上是在A專案抓本機電腦的螢幕畫面,用UDP通訊模式送到B專案所在的另一台電腦。兩個程式都打開執行時,A電腦的畫面就會在B專案的視窗內同步顯示了!其實一般的即時影音直播也都是使用這種UDP模式傳送資料的,如果書籍再版,這個範例應該會插在第三或第四個單元,那一段都在介紹UDP技術。
範例中是直接設定為1920X1080的螢幕大小,因為UDP封包大小有64K的限制,所以不能一次抓整個畫面傳送,必須分割為480X270的小塊影像,壓縮為Jpeg格式後再轉成Byte陣列傳送。到了目的地再依序轉回影像貼到指定的位置,所以實際傳送的除了影像資料之外還有影像區塊的位置,在此會有16個不同的區域位置。至於UDP通訊部分程式的使用方式與說明就請參閱我的書囉!
這兩個程式(發送與接收)是用VB2010寫的,但是其他版本(2008-2015)應該也都通用。維持本人教學範例一貫的特色,程式碼超簡單的!不信自己看。
發送端視窗介面設計:一個輸入目標電腦IP的TextBox,一個啟動Button,還要一個Timer計時器,Interval設定為25(毫秒)。
發送端程式碼:預設TextBox中會顯示本機IP,所以你可以將兩個程式放在同一電腦測試。
接收端視窗介面設計:就是一個PictureBox而已
接收端程式碼:顯示遠端螢幕畫面的PictureBox是可以被拖曳的。
限會員,要發表迴響,請先登入