我正在创建一个由基于Web的前端和c ++后端组成的应用程序,它具有以下要求:1)不应安装任何Web服务器,如Apache或类似软件2)前端UI应该能够触发后端以执行特定的测量3)计算测量后的后端应将值返回到前端,以便在WEB UI上进行描述。
我是网络编程的新手,所以进行了研究,发现没有安装的Web服务器可以用带有相关库(例如boost或poco)的用c ++实现的http服务器代替。 但是,令我非常困惑的是前端和后端之间相互通信的方式。 我知道C ++不仅可以创建简单的Web套接字,还可以创建Web套接字。 我想问的是,对于上述功能,简单的套接字是否可以胜任工作?还是需要使用Web套接字? 如果一个简单的套接字足以将数据从后端传输到前端,那么html前端可以通过什么方式与c ++后端进行通信? 您认为哪种方法最稳定,最有效?
与Web浏览器进行通信需要使用Web浏览器恰好支持的任何功能。 浏览器中不存在“简单套接字”。
大多数Web应用程序对于大多数交互都使用对“ REST”接口的简单HTTP请求(所谓的“ AJAX”),对于需要“订阅”实时更改或带宽效率更高的应用程序,则使用WebSocket。比抵御断线的弹性更重要。
请记住,浏览器仅(通常)支持JavaScript,并且默认情况下,前端和后端之间的通信是事务性的(即,请求响应而不是消息处理)。