2009-05-18 13 views
2

自分のリモートアシスタンス/スクリーン共有ツールを開発して自分のCRMに組み込む場合は、どこに行かなければなりませんか?リモートコントロールAPIまたは開始方法

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

私はこれを実現する方法について

任意のアイデア、またはがある場合...ジョエルは彼はC++で全体のプロトコルを開発する華麗な仲間を使用したことを(何年か前に)1つのポッドキャストでコパイロットの話を覚えてオープンなAPIが私を待っていますか?

答えて

4

How VNC, Fog Creek Copilot and other remote control software worksというタイトルのこの記事をご覧ください。

ここでは、ブログ記事の内容からいくつかの詳細を説明しますが、これはFog Creek Copilotのソースコードに特有のものです。このデータはすべて、ソースコードを見て取得したものです。

コピロットは基本的にC++ではゼロから書かれていませんでしたが、代わりにGPLのTightVNCで構築されました。はい、これは、コピロットの主な情報源もなくてはならないことを意味します。 Fog Creek copilot source code hereを入手できます。そして、わかっている限り、あなたがGPLを作った限り、このプロジェクトのソースコードからソリューションを構築することができます。

プロジェクトはMac版とWindows版に分割されています。 Mac版は客観的なC言語で作成され、Windows版はWin32 C++(MFCではなく)でビルドされています。 Windows版では、VS 2008で作成されたヘルパーソリューションと、VS 2008で作成されたホストソリューション(ホストは助けられている人物)があります.TrolltechのQtを使用していないと思います。その人にダウンロードする必要があったので、ダウンロードを非常に小さく保つために、いつでも誰かと助けを必要とするすべての人を助けました。

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

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

コピロットのソースコードでは、ブースト1.38といくつかの他社製ライブラリが使用されています。これらのライブラリには、NATトラバーサル用のSTUNT、MatrixSSL、libntlm(MicrosoftのNTLM認証用ライブラリ)、omnithread(スレッド化および同期化ライブラリ)が含まれます。

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

Windowsシェルと似ていないが、基本的に3つのバイナリを含むシェルプロジェクトがあります。ホスト、ディテクタ、フックのdllです。それはこれらを抽出する。

リフレクターとウェブサイトのソースコードは、projectaardvark.comのブログ記事からわかるように、どちらもC#、C++のその他すべてのものです。リフレクタの目的は、NATトラバーサルを支援することです。途中でprojectaardvark.comを置き換える新しいブログはAir Trafficと呼ばれています。

VNCは、リモートフレームバッファプロトコルからオフベースされています。 RFBプロトコル自体は、多くのプロトコル経験がある場合はそれほど難しくありません。

0

リモートデスクトップのactiveXコントロールを見ることができます。その場合、プロトコルはRPCです(十分に文書化されています)。さらに、コミュニケーション層とリモートUI層の両方があなたのために行われます。シンプルなUIシェルコードを書くだけでよいのです。

1

オープンソースのVNCプログラムをご覧ください。彼らは私がVNCライブラリやアプリの助けを願って、パスワードで保護された画面共有と

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

を閲覧することができます。これらは、WindowsおよびさまざまなUnixシステムで使用されます。

+0

多くの手助けをしました – balexandre

関連する問題