문제

다음으로 구성된 원격 데스크탑 시스템을 개발할 계획입니다.

  1. 화면을 잡고 표시 할 수있는 데스크탑 응용 프로그램
  2. 피어 연결을 설정하는 서버는 피어를위한 기절/회전 NAT 트래버스 기술을 제공합니다.
  3. 브라우저에서 실행되며 사용자가 원격 데스크탑을보고/제어 할 수있는 웹 기반 (Java Applet 또는 Silverlight) 애플리케이션.

내 요점은 -이 시스템에 가장 적합한 인코딩 프로토콜은 무엇입니까? 나는 이진이며 충분하지 않은 VNC를 꺼냅니다. IE에는 더 많은 기능이 필요합니다. Nat Traversal. 데스크탑 및 서버 용 C ++ 및 웹 기반 앱의 경우 Java/.NET에서 쉽게 개발해야합니다. HTTP를 통해 XML에 대해 생각하고 있었지만 이진 데이터가 상당한 양의 이진 데이터가 전송되어야하므로 이진 데이터를 어떻게 효과적으로 인코딩 할 수 있는지 궁금합니다 (BMP/JPGS 등으로 인코딩 된 캡처 된 데스크탑 이미지).

힌트가 있습니까?

감사

도움이 되었습니까?

해결책

나는 당신이 몇 가지 개념을 혼합하고 있다고 생각합니다. VNC는 실제로 당신이하려는 일을하고, 그것이 부족한 유일한 것은 Nat Traversal입니다. 그러나 Nat Traversal은 어떤 프로토콜의 반응이 아닙니다 (내가 아는 한). 그럼에도 불구하고 VNC 연결이 켜져 있기 전에 NAT 트래버스를 만드는 것을 막을 수는 없습니다.

방화벽을 우회하기 위해 HTTP를 통해 XML을 사용하는 것은 엄청난 과잉 일뿐입니다. 이 접근법의 주요 문제는 TCP 연결이 비디오 전송과 같은 실시간 응용 프로그램에 적합하지 않으며 XML 데이터는 바이너리가 아니라는 것입니다! 나는이 접근법을 사용하여 킬러 앱이 결코 시작되지 않을 것이라고 생각합니다.

휠을 재창조하고 RTP/RTCP + UDP 홀 펀칭을 사용하지 않는 이유는 무엇입니까? 해당 주제에 대한 수많은 (읽을 수없는) 문서가 있으며, 내가 아는 한, Java 애플릿은 UDP 패킷을 보내거나받을 수 있습니다. 구현해야 할 유일한 것은 비디오/오디오/이벤트를 인코딩하는 것입니다 (VNC가 이미하는 일, RFB 프로토콜!)

도움이되기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top