Re: [問題] 遠端遙控程式設計
※ 引述《scott20144 (DaYo)》之銘言:
我只是想單純討論而已, 也沒這方面經驗
: 小弟目前在練習在windows寫個遠端遙控電腦的程式,
: 被控制端 一直截取螢幕畫面 給 控制端
: 控制端 送 mouseposition 給 被控制端
: 1.截圖時每次都要存到硬碟裡 拖慢速度
如上一篇 v 大所言,你不一定要存檔,只要放在 mem 裡面傳 data buffer 就可以了,
於是想建議你, 解析度最好不要設太高, 不然要傳的資料太多
: 2.傳送圖片時圖片大小是否會影響速度
會, 假設是傳 bmp 格式的 buffer (bmp 最好讀)
要傳的大小是 Width * Height * 3 + 54 (header bytes),
當然也可以只傳 raw data 省去那 54 bytes
至於會多久傳完?這要看網路硬體,可以算得出來 (大概值)
有比較簡單的處理辦法讓速度變快 -> 灰階化,不過等於是傳送的東西都是黑白的
但相對的就所需資料大小就變成 Width * height
: 3.截圖的畫面根本沒鼠標,這樣子控制端就不能控制了阿
這是小問題,Client 在傳圖檔 buffer 同時,再傳一個 DWORD position;
x = LOWORD(position);
y = HIWORD(position);
接著看你要怎麼把 mouse cursor 據這 position 畫上去
: 4.截圖時如果有看影片,影像不能截取下來....
是的,這部份我也研究一段時間,這部份本機就不好解決了,
一個方法是規定 client 端使用可以截下來的軟體 (要找)
另一個方法比較麻煩,自己開發 DirectX
最差、最簡單的方法... GetPixel (不知道能不能成功)
反正你整個程式的瓶頸應該是在資料在網路上的傳輸
GetPixel 慢雖慢, "應該" 沒那個瓶頸那麼慢
: 所以我想說我這樣是不是根本搞錯方向了
: 是否有更好的做法呢?
: 請各位前輩給些建議,謝謝!
--
YouLoveMe() ? LetItBe() : LetMeFree();
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.76.142
※ 編輯: tropical72 來自: 180.177.76.142 (01/23 21:42)
→
01/23 21:59, , 1F
01/23 21:59, 1F
推
01/23 22:06, , 2F
01/23 22:06, 2F
我覺得這部份才是問題, 如果不傳 bmp , 要用其它壓過的類型如 jpg, 的確會比較小,快
只是前提就變成是, 先去將目前畫面 bmp buffer 轉成 jpg buffer, 再去傳 jpg butter
server 取得 client jpb buffer 後, 再貼到自己程式中.
等於是原po先去解決 bmp-jpg 問題
※ 編輯: tropical72 來自: 180.177.76.142 (01/23 22:23)
→
01/24 00:06, , 3F
01/24 00:06, 3F
推
01/24 00:25, , 4F
01/24 00:25, 4F
推
01/24 01:29, , 5F
01/24 01:29, 5F
推
01/24 01:48, , 6F
01/24 01:48, 6F
→
01/24 02:13, , 7F
01/24 02:13, 7F
推
01/28 17:06, , 8F
01/28 17:06, 8F
討論串 (同標題文章)