C++ 如何保持C++;具有现代web客户端界面的实时服务器应用程序?
我开发的工业客户机/服务器应用程序(C++)具有很强的实时性要求。 我觉得是时候改变客户端界面的外观了——它是用MFC开发的——但我想知道哪个是正确的选择。 如果我想访问一个Web客户端,有什么方法可以在除了Ajax Web服务COM之外的C++和JavaScript之间交换数据吗?C++ 如何保持C++;具有现代web客户端界面的实时服务器应用程序?,c++,ajax,com,C++,Ajax,Com,我开发的工业客户机/服务器应用程序(C++)具有很强的实时性要求。 我觉得是时候改变客户端界面的外观了——它是用MFC开发的——但我想知道哪个是正确的选择。 如果我想访问一个Web客户端,有什么方法可以在除了Ajax Web服务COM之外的C++和JavaScript之间交换数据吗? 对Web客户端的要求是:快速状态刷新、用户命令、表 您可能想考虑数据的位置。如果你的应用程序提供后端数据库,你可以编写一个Web应用程序,让你的C++代码机智——Web应用程序是独立的,并向网页用户提供页面并直接与
对Web客户端的要求是:快速状态刷新、用户命令、表 您可能想考虑数据的位置。如果你的应用程序提供后端数据库,你可以编写一个Web应用程序,让你的C++代码机智——Web应用程序是独立的,并向网页用户提供页面并直接与数据库对话——在这种情况下,你拥有的选项很多,而且更多,正如你所指出的。 < P>你可能想考虑你的数据在哪里生活。如果你的应用程序提供后端数据库,你可以编写一个Web应用程序,让你的C++代码机智——Web应用程序是独立的,并向网页用户提供页面并直接与数据库对话——在这种情况下,你有很多选项,而且更多,正如您所指出的。几个月前,我的团队不得不做出同样的决定 让它成为一个web应用程序最酷的一点是它以后很容易修改。即使是界面的用户(有点诀窍)也可以修改它以满足他/她的需要。定制软件就变得简单多了 我们使用了一个web界面,ajax似乎是一个不错的选择,它的响应速度非常快 另一方面,这取决于您的实时需求有多强,可能会很困难。我们面临着通过浏览器绘制实时数据的挑战,最后我们使用firefox插件绘制了该图。如果您只是试图显示实时文本数据,那么这应该不是一个大问题 为您的特定应用程序运行一些测试,看看它是什么样子
其他一些要考虑的,如果你有一个网页是你的服务器的一个接口,记住你需要一个方法来更新一个客户端,如果另一个改变了服务器的状态,如果你计划允许多个接口到你的服务器。
几个月前我的团队必须做出同样的决定…… 让它成为一个web应用程序最酷的一点是它以后很容易修改。即使是界面的用户(有点诀窍)也可以修改它以满足他/她的需要。定制软件就变得简单多了 我们使用了一个web界面,ajax似乎是一个不错的选择,它的响应速度非常快 另一方面,这取决于您的实时需求有多强,可能会很困难。我们面临着通过浏览器绘制实时数据的挑战,最后我们使用firefox插件绘制了该图。如果您只是试图显示实时文本数据,那么这应该不是一个大问题 为您的特定应用程序运行一些测试,看看它是什么样子其他一些要考虑的,如果你有一个网页是你的服务器的一个接口,记住你需要一个方法来更新一个客户端,如果另一个改变了服务器的状态,如果你计划允许多个接口到你的服务器。
< p>在服务器中写一个HTTP服务器来处理Ajax反馈。如果您不想提供文件,请在非标准端口(如8081)上创建服务器,并使用常规web服务器进行实际的网页交付。现在,让AJAX引擎在Bizarro端口而不是端口80上与服务器通信 但是写文件服务器部分也不是那么难。如果您这样做了,您还可以根据需要动态生成带有预填充数据的网页 谷歌桌面搜索现在可以做到这一点。当我在桌面上搜索“foobar”时,打开的URL如下:在本例中,4664是Bizarro端口。(GoogleDesktop在这里提供所有数据;它只使用Bizarro端口来避免与我正在运行的任何web服务器发生冲突。)在服务器中编写一个HTTP服务器来处理AJAX反馈。如果您不想提供文件,请在非标准端口(如8081)上创建服务器,并使用常规web服务器进行实际的网页交付。现在,让AJAX引擎在Bizarro端口而不是端口80上与服务器通信 但是写文件服务器部分也不是那么难。如果您这样做了,您还可以根据需要动态生成带有预填充数据的网页 谷歌桌面搜索现在可以做到这一点。当我在桌面上搜索“foobar”时,打开的URL如下:
在本例中,4664是Bizarro端口。(GoogleDesktop在这里提供所有数据;它只使用Bizarro端口,以避免与我正在运行的任何web服务器发生冲突。)我通常以两层结构构建我的应用程序:
调试也很容易,因为您只需在两个元素之间转储请求,就可以更容易地重现错误。我通常以两层结构构建应用程序: