Question

Je prévois de développer un système de bureau à distance composé de :

  1. L'application de bureau qui peut saisir et afficher l'écran
  2. Le serveur qui établit les connexions homologues utilise les techniques de traversée STUN/TURN NAT pour les homologues.
  3. L'application Web (applet Java ou Silverlight) qui s'exécute à partir du navigateur et permet à l'utilisateur de voir/contrôler le bureau distant.

Mon point est le suivant : quel serait le meilleur protocole de codage pour ce système ?J'ai reporté VNC qui est binaire et pas suffisant - j'ai besoin de plus de fonctionnalités, par exemple.Traversée NAT.Il doit être facilement développé en C++ pour les ordinateurs de bureau et les serveurs et en Java/.NET pour les applications Web.Je pensais à XML sur HTTP(S), mais je me demande comment encoder efficacement les données binaires, car il doit y avoir une quantité importante de données binaires transférées (images de bureau capturées codées au format bmp/jpg, etc.).

Des indices ?

Merci

Était-ce utile?

La solution

Je pense que vous mélangez certains concepts.VNC fait réellement ce que vous essayez de faire, et la seule chose qui lui manque est NAT Traversal.Mais NAT Traversal n'est de la responsabilité d'AUCUN protocole (pour autant que je sache).Néanmoins, rien ne vous empêche de créer le NAT Traversal avant que les connexions VNC ne soient activées.

Utiliser XML sur HTTP(S) pour contourner les pare-feu est tout simplement une énorme surpuissance.Le principal problème de cette approche est que la connexion TCP n'est pas adaptée aux applications en temps réel comme le transfert vidéo, et que les données XML ne sont pas binaires !Je pense qu'en utilisant cette approche, votre application tueuse ne se lancera jamais.

Pourquoi réinventer la roue et ne pas utiliser RTP/RTCP + Udp Hole Punching ?Il existe des tonnes de documentation (non lisible) sur ce sujet et, pour autant que je sache, les applets Java peuvent envoyer/recevoir des paquets UDP.La seule chose que vous devrez implémenter est l'encodage pour la vidéo/audio/événements (quelque chose que VNC fait déjà, le protocole RFB !)

J'espère que cela pourra aider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top