【发布时间】:2010-12-20 10:22:49
【问题描述】:
如何将 C++ 程序公开为 Web 服务? 或者从 Java 调用 C++ 并将生成的 Java 公开为 Web 服务是否更好。
在任何情况下,C++ 程序都不应该发生任何变化。
【问题讨论】:
标签: java c++ web-services jax-ws jax-rpc
如何将 C++ 程序公开为 Web 服务? 或者从 Java 调用 C++ 并将生成的 Java 公开为 Web 服务是否更好。
在任何情况下,C++ 程序都不应该发生任何变化。
【问题讨论】:
标签: java c++ web-services jax-ws jax-rpc
【讨论】:
有趣的是,Web 服务在 http 协议上工作,这意味着如果没有 http 服务器,您就无法“托管”用 C++ 编写的 Web 服务。由于每个 Web 服务器都有自己编写“钩子”或扩展的机制,下一个明显的问题是您想选择哪个 Web 服务器。
假设您想在 Windows 上安装 IIS。可以使用 ISAPI 扩展;所以你需要知道如何编写一个符合 Web 服务标准的。或者,或者,最好学习如何使用 Visual Studio 在 C++ 中执行此操作,这将有很多 built-in stuff to help you get started。
简而言之,在 C++ 中没有公开 Web 服务的“标准”方式,您必须特定于“平台”。带有 IIS 的 Windows 有一种方法。 Apache Axis C++ 有另一个。
【讨论】:
你可以试试c-service-interface https://github.com/Taymindis/c-service-interface。
它创建一个 C/C++ 程序作为服务端口并监听 NGINX fcgi。
这是一个小型的桥接引擎,可以处理高负载的请求,任何段错误都不会破坏引擎,它会捕获和释放线程,它建立在 NGINX、FCGI 之上。您可以在访问您的界面之前通过 NGINX 设置代理、负载平衡、身份验证。
如下所示的链接是一个wiki,用于指导您如何从头开始。
https://github.com/Taymindis/backcurl/wiki/How-to-build-BackCurl-for-cpp-Android-development
【讨论】: