什么是用于开发C++ Web服务的好平台?

3
我们正在考虑开发一个Web服务,作为用于C++编写的网络安全原型的浏览器显示/ GUI的基础。我对Web服务的经验仅限于Java。我更喜欢Java中的Web服务,因为它是“常规做法”。
一种确定的方法是简单地编写一个Java客户端来调用Web服务,并将其作为带有参数的命令行从C++代码中调用。这并不理想,因为通常情况下API更可取,但在这种情况下,它可以工作并且是一个相当安全的解决方案。
一个处理C++ Web服务开发的资源称为gSOAP,网址为:http://gsoap2.sourceforge.net 在哪种方法更好?有人使用过gSOAP吗?如果是,你的想法是什么?
8个回答

3

我曾使用过gSOAP,它并不糟糕。然而,我越来越反对使用RPC模型进行Web服务开发,因为它会强制你处理许多连接和会话状态,增加了复杂性。相比之下,REST接口更简单、更健壮。


说实话,REST 的好处在于它很简单。只需获取任何 HTTP 客户端库,你就完成了。以下是一些库:http://curl.haxx.se/libcurl/competitors.html - Charlie Martin
以下是更多的参考资源:http://www.thomas-bayer.com/rest-demo.htm 和 http://www.xfront.com/REST-Web-Services.html - Charlie Martin

2

2

针对RPC风格,可以看看Thrift,我发现它比SOAP更好(速度更快、更清晰、有许多语言实现)。


2

我的同事最终采用了Axis2/Java(用于服务)和gsoap(用于客户端)的组合。他通过从C++头文件生成wsdl(使用c2wsdl(?)或类似工具)来创建Java服务的wsdl。他说这比使用Java接口更好,因为那样会生成两组不同版本的soap wsdl。

然后他使用wsdl2java生成了Web服务和测试Web客户端。一旦我们让其正常工作,他就使用gsoap创建了Web客户端(用C++编写),它很好地工作了。

感谢所有的答案!我最终使用了它们的组合。


1

我对gsoap有非常好的体验 - 非常简单,性能也很好。


1
如果只在Windows上运行是可以接受的,那么有一个全新的API可用于此目的:WWSAPI

1

不必从命令行调用Java客户端,您可以在C应用程序内创建一个Java虚拟机,实例化类并调用任何方法。这就是java.exe应用程序所做的事情,我认为源代码包含在JDK中。


1

这取决于你想要多低级。你可以看一下yield


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接