WEB UI 前端和 C++ 后端之间的通信?

Posted

技术标签:

【中文标题】WEB UI 前端和 C++ 后端之间的通信?【英文标题】:Communication between a WEB UI front-end and a C++ back-end? 【发布时间】:2016-11-10 18:16:54 【问题描述】:

我正在创建一个由基于 Web 的前端和 C++ 后端组成的应用程序,并且具有以下要求: 1)不应安装任何像Apache或类似软件的Web服务器 2)前端UI应该能够触发后端进行具体的测量 3) 计算测量值后的后端应将值返回到前端,以便在 WEB UI 上显示。

我是网络编程的新手,所以我进行了一项研究,发现没有安装的 web 服务器可以用 c++ 实现的 http 服务器代替,该服务器带有相关的库,如 boost 或 poco。 然而,让我很困惑的是前端和后端可以相互通信的方式/方式。我知道 C++ 不仅能够创建一个简单的而且还能够创建一个 Web 套接字。 我想问的是,对于上述功能,一个简单的套接字是否可以完成这项工作,还是我需要使用网络套接字?如果一个简单的套接字足以将数据从后端传输到前端,那么 html 前端可以通过什么方式与 c++ 后端进行通信?您认为哪种方式最稳定有效?

【问题讨论】:

我目前使用的方式是使用 C++ 编写的启用了 WebSockets 的 HTTP 服务器。是要走的路。但是,如果您不需要实时和简单的 HTTP 调用,您可以使用 Ajax 来实现。 Websockets 是一个协议名称(类似于 HTTP 是一个协议的名称)——而不是一种套接字。 【参考方案1】:

与网络浏览器的通信需要使用网络浏览器恰好支持的任何功能。浏览器中不存在“简单套接字”。

所有 Web 应用程序中的大多数都使用简单的 HTTP 请求(所谓的“AJAX”)到“REST”接口进行大多数交互,而 WebSockets 用于那些需要“订阅”实时更改或带宽-效率比抵御断开连接的能力更重要。

请记住,浏览器仅(通常)支持 javascript,并且您在前端和后端之间的通信默认是事务性的(即请求-响应而不是消息处理。)

【讨论】:

以上是关于WEB UI 前端和 C++ 后端之间的通信?的主要内容,如果未能解决你的问题,请参考以下文章

Electron 前端和 Python 后端之间的通信

Kubernetes 前端和后端之间的通信

Kubernetes 中的后端/前端服务之间没有通信

两个独立的 Heroku(Node 后端和 React 前端)之间的通信?

ASP.NET 前端和 Windows 服务后端之间的通信?

移动应用程序的前端-后端通信