回答
我的RFB(VNC)協議中發現的最好的參考就是:http://tigervnc.org/cgi-bin/rfbproto
你有幾個大方向的。
如果你不介意擴展協議,那麼你可以添加新的消息類型到你的協議(因爲你控制兩端)。請參閱clientcuttext和servercuttext作爲用於在任一方向發送任意數量的數據的現有消息的示例。缺點是如果您的客戶端或服務器連接成不同的客戶端或服務器,那麼這將導致致命錯誤。
另一種選擇是以向後兼容的方式擴展現有消息。例如,您可以通過發送位於視口之外的鼠標事件(然後發送回到真實位置的最終鼠標事件),將客戶端發送給服務器消息。您可以通過發送位於視口之外的幀緩衝區更新來將服務器發送到客戶端消息。這將不會被普通客戶顯示。
使用'水印'。您可以設置每個X幀有數據。每個像素都將用於存儲一些數據。記錄每個第X-1幀的每個像素,並且對於每個第X幀,忽略服務器視頻輸入中的任何實際變化,但是如果您希望該位爲1,則使該像素較暗,如果您希望它爲0,請保留像素相同。在1024 x 768像素的顯示器上,您可以使用此方法每隔X幀存儲786kb的數據。確保不壓縮將存儲數據的幀的流。
如果你不需要786kb,只需要在屏幕的上半部分進行操作,就可以節省一些帶寬,並且可以將786kb的一半用作數據。
你應該能夠實施大多數(如果不是全部)加密的話。你也可以做很多混淆。也許每個第三位都是隨機的,沒用的。也許如果第一位是1,則翻轉所有內容。等等等等
很好的答案! +1 –
嗨gladoscc,閱讀你的答案後,我已經意識到,我沒有以適當的方式問我的問題。我編輯了我的問題。該錯誤的原因。我只需要在視頻幀中添加vnc通信中的數據幀。根據前面的問題,你的答案就像是一個正確的速記。 – Pawan
我曾看過VNC協議。發送自定義數據沒有官方標準,因此您需要創建一個非標準事件。 我發現它描述的很詳細VNC協議與所有標準(和一些非官方的)事件沿着這個PDF文檔: www.realvnc.com/docs/rfbproto.pdf 這是不可能提供確切「什麼做「教程式的建議,因爲我甚至不知道你將使用哪種語言編寫代碼! 如果您不知道如何實現這一點,對不起,但你應該先做一些事情。 請不要被我的語氣在這篇文章中推遲! :) – apscience
- 1. 數據綁定+添加額外信息
- 2. 如何添加額外的信息到PHP數組
- 3. 如何向PayPalPayment添加額外信息?
- 4. 添加額外的索引,以大熊貓數據幀
- 5. MVC:如何將額外的數據添加到我的Ajax ActionResult
- 6. 如何添加額外的數據到wx.TreeCtrl項目? wxpython
- 7. 如何將額外的列添加到jQuery數據表
- 8. 如何添加額外的數據到wx.TextCtrl?
- 9. 如何添加額外的數據到android.widget.SearchView?
- 10. 如何添加額外的信息到領域SyncUser
- 11. 如何添加額外的POST參數?
- 12. C++如何額外信息添加到現場
- 13. 向圖上的數據點添加額外信息
- 14. 如何在插入數據時添加額外的行(額外的空行)
- 15. 如何將額外的數據字段添加到數據庫中的AJAX表
- 16. serializeArray()添加額外的信息提交
- 17. GWTUpload添加額外的信息
- 18. 添加額外的信息,以拉鍊
- 19. 將額外的參數添加到$ cordovaFileTransfer.upload
- 20. 如何添加一些額外的字段添加到EKEvent
- 21. 向try-catch添加額外數據
- 22. 如何向MDS中的成員添加額外的數據?
- 23. 向db查詢添加額外信息
- 24. Magento:添加額外信息發票PDF
- 25. 如何額外的URL參數添加到我的mod_rewrite規則
- 26. 如何在MySQL數據庫中添加額外的值
- 27. dotnetopenauth - 如何在刷新令牌中添加額外的數據?
- 28. 如何添加額外的數據成員「號碼」帳戶類?
- 29. 如何在對話框中添加額外的數據?
- 30. 如何使用jquery向ckeditor添加額外的數據?
嗨kanaka,謝謝你也快速respone.Can我也有任何安全的手段也在溝通。客戶端將在QT上運行,服務器將在Android上運行。 – Pawan
有幾種加密模式是VNC協議的標準部分,例如VeNCrypt和SASL(它們是在中途升級的)。您還可以使用SSL從一開始就SSL加密整個流。人們通常使用stunnel命令來做到這一點,但如果您有權訪問雙方的SSL庫,那麼您可以自己做。然而,這種類型的加密的痛苦部分總是關鍵的管理部分。 – kanaka
好的,所以我可以使用clientcuttext和servercuttext來傳遞額外的數據,以及加密,我的客戶端和服務器將始終保持修復? – Pawan