我有一个 GUI(前端,用 C++ 编程)和一个内核(后端,用 C++ 编程)。目前,前端仅链接到后端库。但是,由于性能原因,我希望从另一台计算机/服务器执行库中的函数。与服务器的通信应通过 TCP/IP 连接完成。
当前实现此目的的想法是建立 TCP/IP 客户端/服务器连接。连接建立后,GUI 会向服务器发送标头 ID 和可能的其他数据,在服务器上执行代码并发回返回值。然而,为了实现这一点,我必须将每个函数映射到标头 ID,并为后端的每个函数编写接收数据的处理。这是一项繁琐的工作,我必须手动包装每个函数。
现在的问题是:通过服务器/客户端连接将前端连接到后端的常见做法是什么?是否有任何生成器(例如 Python 的 SWIG 等)来生成 TCP/IP 接口?
上下文 - TCP/IP 是传输层协议,HTTP、HTTPS、WebSocket 是在其之上用于应用层的。
目前大多数浏览器不允许使用直接传输层,因为这可能会带来安全威胁。所以你必须使用那些应用程序层 API。
您可能认为 Socket.Io 会解决您的问题,但 Socket.io 使用 WebSocket 作为传输协议。
结论 - 如果您想将前端与后端连接,我建议使用 HTTP 进行单向通信,或者如果您需要双向通信,则使用 WebSocket。
他们有更多的术语/概念,如 SSE(服务器端事件)等,但主要使用 TCP/IP 作为基础。