在不远的将来,我将不得不制作一个具有C++后端和Web前端(要求)的系统。目前,我对此并不了解。我认为前端将触发数据传递,而不是后端-因此无需像 cometd 一样的东西。

由于在该领域的经验可能很少,因此,非常感谢您对我所做的设计决策发表意见。

首先,我不喜欢从C++生成HTML的选项。
因此,C++后端必须与Javascript前端进行通信。我在这里看到的最简单的选择是Ajax。到目前为止,我认为应该没问题。

通过Ajax与C++后端进行通信意味着后端应该能够处理HTTP。分离提供HTTP处理功能的实际数据的后端会很好。

在这里,我看到了Node.js的位置。我对此有一个大概的了解,这是我所有怀疑的地方。

要在Node.js上具有HTTP处理服务器,该服务器将把“数据后端”作为Node.js模块?我认为应该没问题-但我不确定我是否真的需要所有这些异步功能,所以可能有一些我不知道的更简单的选择?您将如何制作这样的系统?

提前致谢。

最佳答案

Node.js并没有非常努力地提供“所有这些异步”功能。一旦您了解Node.js的工作原理,这就是Web服务的另一种观点,就像呼吸一样容易。

例如,我的同事需要一种将C++程序包装为Web服务的方法,但是该程序的启动成本很高,因此他们只想运行该程序的一个实例,循环运行,为所有Web服务要求。 Node.js中的整个过程少于两个屏幕。

可以在少于十行的Node.js中包装为每个请求调用的单个程序。不要将异步视为繁琐的事情-如果您接受它,Node.js真是棒极了。

也就是说,您可以走CGI路线,并以更标准的方式进行操作,最终结果将几乎相同。 This可能会派上用场,也可能不会派上用场。

关于javascript - 设计Javascript前端<-> C++后端通信,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6314320/

10-12 14:51
查看更多