如何创建可以被任何网站使用的C ++ Web服务?

时间:2016-07-12 13:16:37

标签: c++ multithreading web-services

我有一些c ++代码(在桌面上执行某些任务)。我想在我的网站上使用这个C ++代码,因为我计划通过添加更多功能来改进这个代码,以便它可以转换为任何其他语言,如C#或java。

所以这是我想要做的主要事情:

  • 如何在网站中使用C ++代码?

  • 如何将此C ++代码构建为提供多线程的Web服务,并且可以并行响应每个请求来自客户端?

有人可以指导我怎么做吗?

1 个答案:

答案 0 :(得分:0)

我认为这个问题不符合SO标准,但让我们试着回答。

如果您的C ++代码使用某些特定于平台的调用,那么您必须使用相同的平台。 Windows应用程序不太可能在Unix下工作,除非它是微不足道的。但是,无法保证某些桌面功能可以作为Web服务运行。例如,使用GUI的应用程序不能(以直接的方式)作为Web服务启动。

如果代码是通用的,包含可作为桌面和Web应用程序运行的逻辑,那么它应该由Web服务器封装。

部分选项:

  • 像Apache一样运行Web服务器并使用C++ server pages,这样就可以嵌入C ++逻辑。
  • 使用线程和套接字创建自己的Web服务器。这种方法假设您知道如何从头开始构建,因此您应该获得有关网络的教程。像Poco这样的库将一些逻辑封装到类中,并提供了用你的逻辑扩展的服务器类。
  • 还有其他方法,比如使用gSOAPIce,Apache Axis,XML-RPC ......每个方法都提供了一个抽象层,因此根据您的需要,您可以选择一个或者另一个。

总的来说,如果你想自己处理网络细节,那就去学习套接字/线程,但这需要一些时间。如果您想完成工作,请使用一些现有框架。