【发布时间】:2013-11-23 19:39:15
【问题描述】:
我正在开发一个由 Web 前端和后台服务组成的项目。 Web 前端可供用户访问,并且应该与后台服务进行通信,后台服务是用 C++ 编写的,并在不同的机器上运行(将来可能会有多个)。
仅供参考: 后台服务器(以后称为“后端”)就像一个 http 服务器,监听特定端口上的传入请求。
到目前为止,前端通过简单的 http 请求向后端发送命令,其中包含 xml 或 json 格式的数据。
好吧,现在这是我的问题: 由于用户在前端输入数据,因此前端期望后端的一些数据显示给用户或在我们的数据库内部使用。
您能推荐一些方法来处理从后端发送到前端的数据吗?
我目前的想法: 后端在启动时获得一个链接,有点像 pingback url,如果有任何数据要返回到前端,它可以调用它。被调用的文件将传入的数据输入到某个地方进行存储,例如memcache 或 mem-only 数据库。 我打算用 javascript 编写前端,可能使用 Ember.js 或 Angular.js 之类的框架,它们可以在内部自动处理此类数据更新。无论哪种方式,它都应该使用尽可能少的资源尽可能实时地更新前端。
我目前的方法有效还是纯粹是愚蠢的?
一般来说: 你能给我提示如何改进上述方案或建议任何其他方法来实现这一点吗?
我已经用谷歌搜索了这个,但我找到的只是Designing Javascript frontend <-> C++ backend communication,但他只是希望他的后端在同一台机器上,我有不同的。
编辑: 我忘记了最重要的细节(或者我在想):目前只有一个后端实例可以处理很多客户端。前端的每个用户至少有一个与客户端管理器(后端)关联的客户端。所以可能会有很多数据从管理器返回。
这里真正的问题(或者至少我认为这是最大的)是我应该如何将返回的数据分发给每个客户端。
莲花
【问题讨论】:
-
我想出了另一种方法:由于管理服务器的地址必须保密,因此不可能让客户端通过 Node.js 之类的东西直接连接到它。但是,如果我在两者之间安装类似代理的东西,我可以按照这种方法并这样做。但是将http服务器更改为“普通”tcp服务器需要做很多工作我想要一些关于这个新解决方案的提示。有吗?
标签: javascript c++ angularjs ember.js