【问题标题】:Remote Control API or how to start? [closed]远程控制 API 或如何启动? [关闭]
【发布时间】:2009-05-18 18:04:54
【问题描述】:

如果我想开发自己的远程协助/屏幕共享工具以包含在我自己的 CRM 中,我应该去哪里?

我对交流一无所知,但我想参与这样的想法。我的问题是,创建LogMeIn/CoPilot/etc产品的基本知识和基本结构是什么?

我记得 Joel 在一次 PodCast(几年前)中谈到 CoPilot,他曾使用一位才华横溢的伙伴用 C++ 开发整个协议...

关于如何实现这一点的任何想法,或者是否有开放的 API 等着我?

【问题讨论】:

    标签: api remote-desktop remote-control logmein


    【解决方案1】:

    请看这篇标题为:How VNC, Fog Creek Copilot and other remote control software works的文章。

    我将在此提供一些其他详细信息,来自该博客文章的内容,但更具体到 Fog Creek Copilot 源代码。所有这些数据都是通过查看源代码获得的。

    基本上,Copilot 不是用 C++ 从头开始​​编写的,而是基于 GPL 的 TightVNC 构建的。是的,这意味着 Copilot 的主要来源也必须提供。你可以得到Fog Creek copilot source code here。据我了解,只要您也将其设为 GPL,您就可以使用该项目的源代码构建您的解决方案。

    该项目分为 Mac 版本和 Windows 版本。 Mac 版本内置于 Objective C,windows 版本内置于 Win32 C++(不是 MFC)。对于 Windows 版本,VS 2008 提供了一个 Helper 解决方案,VS 2008 提供了一个 Host 解决方案(主机是被帮助的人)。我认为他们没有使用 Trolltech 的 Qt,因为它的链接大小很大,这很重要给他们以保持下载量非常小,因为它最初必须由每个帮助某人和每个需要帮助的人下载。

    没有 x64 或 IA64 配置,因此 Windows 上的所有代码仅作为 x86 进程运行。它可以通过 WOW64 在 64 位窗口上运行,就像任何其他 32 位进程都可以使用一样。

    据我了解,大部分开发都是通过在 VM 上运行的主机完成的。 Helper 的开发是在他们的桌面上完成的。

    Copilot 源代码使用 boost 1.38 和其他几个第三方库。这些库包括用于 NAT 遍历的 STUNT、MatrixSSL、libntlm(用于 Microsoft 的 NTLM 身份验证的库)和omnithread(线程和同步库)。

    大部分情况下它使用 bsd 风格的套接字,但在 boost::asio 中也有一些网络代码。这是有问题的,因为 boost::asio 1.38 中有很多在 boost 1.40 中修复的错误。该项目还有一个windows hook dll,用于在主机上挂钩键盘、鼠标和其他windows消息。

    有一个 shell 项目,它与 windows shell 不同,但它基本上包含 3 个二进制文件:主机、删除程序和 hooks dll。它提取这些。

    他们没有给出的是 Reflector 和网站的源代码,据我在 projectaardvark.com 上的一些博客文章中了解到,它们都是 C#,其他都是 C++。反射器的目的是协助 NAT 穿越。顺便取代projectaardvark.com的新博客叫Air Traffic

    VNC 基于远程帧缓冲协议。如果您有很多协议经验,RFB 协议本身并不难。

    【讨论】:

      【解决方案2】:

      看看开源 VNC 程序。它们允许受密码保护的屏幕共享和查看

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

      我希望 VNC 库和应用程序有所帮​​助。它们用于 Windows 和各种 Unix 系统。

      【讨论】:

        【解决方案3】:

        您可以查看远程桌面 activeX 控件。在这种情况下,协议是 RPC(有据可查)。此外,通信和远程 UI 层都为您完成,您只需编写一些简单的 UI shell 代码。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-03-25
          • 2012-04-30
          • 2018-05-24
          • 1970-01-01
          • 1970-01-01
          • 2012-09-02
          • 1970-01-01
          相关资源
          最近更新 更多