2009-07-14 42 views
0

我打算開發的遠程桌面系統,包括:協議用於web <->桌面基於應用的數據編碼

  1. 桌面應用程序,可以抓住並顯示在屏幕
  2. 其建立對等服務器連接,爲對等服務STUN/TURN NAT遍歷技術
  3. 基於Web的(Java小程序或Silverlight)應用程序,從瀏覽器運行並允許用戶查看/控制遠程桌面。

我的觀點是 - 這個系統最好的編碼協議是什麼?我推遲了二進制VNC,這是不夠的 - 我需要更多的功能。 NAT穿越。它必須易於在桌面和服務器的C++中以及基於Web的應用程序的Java/.NET中開發。我正在考慮通過HTTP(S)的XML,但我想知道如何有效地編碼二進制數據,因爲必須有大量的二進制數據傳輸(捕獲的桌面圖像編碼爲bmp/jpgs等)。

任何提示?

謝謝

回答

1

我想你是在混合一些概念。 VNC實際上你正在嘗試做什麼,它唯一缺乏的是NAT Traversal。但是,NAT Traversal不是ANY協議的負責人(據我所知)。 Neverthless,沒有什麼能阻止你在VNC連接打開之前創建NAT遍歷。

使用XML Over HTTP(S)繞過防火牆只是一個巨大的矯枉過正。這種方法的主要問題是TCP連接不適合實時應用程序,如視頻傳輸,而xml數據不是二進制的!我認爲,使用這種方法,您的殺手級應用程序將永遠不會啓動。

爲什麼重新發明輪子而不使用RTP/RTCP + Udp打孔?關於該主題有大量的(不可讀的)文檔,據我所知,Java小程序可以發送/接收UDP數據包。唯一需要實現的是視頻/音頻/事件的編碼(VNC已經做的事情,RFB協議!)

希望有幫助。

相關問題