![]() |
1
5
请参阅标题为: How VNC, Fog Creek Copilot and other remote control software works . 我将在这里提供一些额外的细节,从博客上说,但这是更具体的雾溪副驾驶源代码。所有这些数据都是从源代码中获取的。 基本上,副驾驶不是在C++中从头开始写的,而是由GPL'EntEntVNC构建的。是的,这意味着副驾驶的主要来源也必须给出。你可以得到 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进程运行。它可以通过wow64在64位窗口上运行,就像任何其他32位进程可以使用的一样。 据我所知,开发主要是在虚拟机上运行的主机上完成的。助手的开发是在他们的桌面上完成的。 copilot源代码使用boost 1.38和其他几个第三方库。这些库包括stunt for nat traversal、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。它提取这些。 他们没有给出的是反射器和网站的源代码,正如我在上的一些博客文章中所了解的那样。 projectaardvark.com 它们都是C语言,其他都是C++语言。反射镜的作用是协助NAT遍历。替换的新博客 项目aardvark.com 顺便问一下 Air Traffic . VNC是从远程帧缓冲协议中分离出来的。如果您有大量的协议经验,那么RFB协议本身就没有那么困难了。 |
![]() |
2
1
看看开源的VNC程序。它们允许密码保护的屏幕共享和查看 http://www.realvnc.com/vnc/index.html http://en.wikipedia.org/wiki/Virtual_Network_Computing http://libvncserver.sourceforge.net/ 我希望 VNC 库和应用程序帮助。它们用于Windows和各种UNIX系统。 |
![]() |
3
0
您可以查看远程桌面ActiveX控件。在这种情况下,协议是RPC(有良好的文档记录)。另外,通信层和远程UI层都是为您完成的,您只需要编写一些简单的UI外壳代码。 |