4

万が一、独自のリモート アシスタンス/画面共有ツールを開発して、独自の CRM に組み込みたい場合は、どこに行けばよいですか?

私はコミュニケーションについて何も理解していませんが、そのような考えに自分自身を巻き込みたいと思っています。私の質問は、 LogMeIn / CoPilot /etc 製品を作成するための基本的な知識と基本的な構造は何ですか?

Joel が 1 つの PodCast (数年前) で CoPilot について話したのを覚えています。

これを達成する方法、または私を待っているオープン API があるかどうかについてのアイデアはありますか?

4

3 に答える 3

7

この記事を参照してください: VNC、Fog Creek Copilot、およびその他のリモート コントロール ソフトウェアの仕組み.

そのブログ投稿の内容から、ここで追加の詳細を提供しますが、それは Fog Creek Copilot のソース コードに固有のものです。このデータはすべて、ソース コードを調べて取得したものです。

基本的に、Copilot は C++ でゼロから作成されたのではなく、GPL 化された TightVNC から構築されました。はい、これは Copilot のメイン ソースも提供する必要があることを意味します。Fog Creek 副操縦士のソース コードは、ここから入手できます。私が理解している限りでは、このプロジェクトのソース コードを GPL にする限り、ソリューションを構築することができます。

プロジェクトは Mac 版と Windows 版に分かれています。Mac バージョンは Objective C でビルドされ、Windows バージョンは Win32 C++ (MFC ではない) でビルドされます。Windows 版には、VS 2008 で作成されたヘルパー ソリューションと VS 2008 で作成されたホスト ソリューション (ホストは支援される人) があります。リンク サイズが大きいため、Trolltech の Qt を使用しなかったと思います。これは重要でした。ダウンロードを非常に小さく保つために、最初は毎回誰かを助けている全員と助けを必要としている全員がダウンロードする必要があったためです。

x64 構成も IA64 構成もないため、Windows 上のすべてのコードは x86 プロセスとしてのみ実行されます。他の32ビットプロセスが使用できるのと同じように、WOW64を介して64ビットウィンドウで実行できます。

私が理解しているように、開発はほとんどの場合、VM 上で実行されているホストで行われました。ヘルパーの開発はデスクトップ上で行われました。

Copilot のソース コードは、boost 1.38 と、その他のいくつかのサードパーティ ライブラリを使用しています。これらのライブラリには、NAT トラバーサル用の STUNT、MatrixSSL、libntlm (Microsoft の NTLM 認証用ライブラリ)、および omnithread (スレッド化および同期ライブラリ) が含まれます。

ほとんどの部分で bsd スタイルのソケットを使用しますが、boost::asio にいくつかのネットワーク コードも含まれています。boost::asio 1.38 には多数のバグがあり、boost 1.40 で修正されているため、これは問題です。このプロジェクトには、ホスト上のキーボード、マウス、およびその他の Windows メッセージをフックするための Windows フック DLL もあります。

Windows シェルとは異なりますが、基本的に 3 つのバイナリ (ホスト、デリータ、およびフック dll) を含むシェル プロジェクトがあります。これらを抽出します。

彼らが提供していないのは、Reflector と Web サイトのソース コードです。projectaardvark.comのいくつかのブログ投稿からわかるように、それらは両方とも C# であり、それ以外はすべて C++ です。リフレクタの目的は、NAT トラバーサルを支援することです。ちなみにprojectaardvark.comに代わる新しいブログはAir Trafficと呼ばれます。

VNC は、リモート フレームバッファ プロトコルに基づいています。プロトコルの経験が豊富であれば、RFB プロトコル自体はそれほど難しくありません。

于 2009-09-22T11:24:54.413 に答える
1

オープンソースの VNC プログラムを見てください。パスワードで保護された画面共有と表示を許可します

http://www.realvnc.com/vnc/index.html http://en.wikipedia.org/wiki/Virtual_Network_Computing http://libvncserver.sourceforge.net/

VNCライブラリとアプリが役立つことを願っています。これらは、Windows およびさまざまな Unix システムで使用されます。

于 2009-05-18T18:26:15.503 に答える
0

リモート デスクトップの activeX コントロールを見てみましょう。その場合、プロトコルは RPC です (十分に文書化されています)。さらに、通信層とリモート UI 層の両方が自動的に作成されます。単純な UI シェル コードを記述するだけです。

于 2009-05-18T18:09:14.133 に答える