在网页上托管一个c++桌面应用程序

Host a c++ desktop application on a webpage

本文关键字:一个 c++ 桌面 应用程序 网页      更新时间:2023-10-16

我有一个桌面应用程序,它有一个用Qt制作的UI接口,链接到一个库,该库正在做所有的计算工作。UI中的值被获取并传递给DLL中的API,以获得屏幕上显示的输出。

现在,我想做同样的事情,将我的应用程序UI转移到网页上,这样人们就可以在任何地方访问该工具,而无需任何安装过程。

我想保留我的c++DLL代码,这样我就不必做很多工作了。我正在考虑通过任何通信进程(套接字)将这个DLL转换为C++服务器。我想在我公司的网站上发布这个应用程序。(我们还必须制作网站,以便对任何一套工具都持开放态度)。

我想知道做这件事最好的工具是什么。此外,网页和服务器之间会有很多数据交换,因此整个系统也应该进行优化。我瞪了一下眼睛,发现了silverlight和ASP.NET之类的东西,但我仍然不太清楚哪种选择更合适。

我是一名c++程序员,没有web应用程序开发经验。我愿意学习任何新技术。

感谢

为什么不直接在网络上使用Qt?有几个像这样的项目:http://qtwui.sourceforge.net/

有一个netscape插件将在QT网站上托管QT应用程序和ActiveX控件包装。您可以使用其中一个来包装您的应用程序。请注意,这种方法需要用户(或其管理员)下载并安装插件。

另一种方法可能是通过远程桌面(如XVNC、NX或基于RDP的层)运行应用程序。基于IIRC浏览器的远程桌面客户端可用于大多数此类协议。

几个选项:

  • 选择一个消息传递/队列实现(如http://www.zeromq.org/)并提供服务
  • 如果您希望对企业更友好,请实施Windows Web服务:http://msdn.microsoft.com/en-us/magazine/ee335693.aspx

我不会在互联网上公布实施情况。只要有一个简单的缓冲区溢出,机器就可以很快接管。在应用程序和web之间添加一个层提供了一种简单的方法来验证输入、访问、统计。。。

您应该能够从wt或cppcms应用程序使用DLL。然后你不必学习新东西,只需使用C++即可。

我目前的做法是使用Boost.Python+django