Java 如何从c或c++;客户端使用libcurl?
我有一个带有GWT客户端的google应用程序引擎应用程序。大多数服务器功能都可以像往常一样通过正常的GWT RPC调用访问。我正在编写一个C++中的数据挖掘应用程序,需要与AppEngine应用程序通信。问题是,实现的gwt servlet太多了,所以不可能重写服务器代码Java 如何从c或c++;客户端使用libcurl?,java,c++,gwt,rpc,libcurl,Java,C++,Gwt,Rpc,Libcurl,我有一个带有GWT客户端的google应用程序引擎应用程序。大多数服务器功能都可以像往常一样通过正常的GWT RPC调用访问。我正在编写一个C++中的数据挖掘应用程序,需要与AppEngine应用程序通信。问题是,实现的gwt servlet太多了,所以不可能重写服务器代码 有什么想法吗?如果您在客户端上使用java,您可以使用。虽然这个库的主要用例是测试远程gwt rpc服务,但它可以有效地用于任何目的。在C++中开发客户端时,这可能不是你的选择。 如果您控制GWT应用程序(也就是说您可以重新
有什么想法吗?如果您在客户端上使用java,您可以使用。虽然这个库的主要用例是测试远程gwt rpc服务,但它可以有效地用于任何目的。在C++中开发客户端时,这可能不是你的选择。 如果您控制GWT应用程序(也就是说您可以重新编译它),您可以很可能执行以下操作:
但这可能会被证明是太多的工作,因此您最好重构servlet,以公开除RPC之外的另一个基于JSON/XML的接口。解决了这个问题,最好的方法是按照Tahir的建议。尝试直接连接C++的GWT RPCS是太多的工作。最简单的方法是在服务器端编写瘦包装器作为普通servlet,并使用C++中的HTTP和CURL。关于JSON或XML的对象序列化还有一个问题。我选择在我想要序列化的对象字段上编写一个自定义注释,然后在运行时读取这些注释以序列化它们。有几个库可以轻松地进行POJO->JSON转换。例如,请参见和。XStream主要是XML,但也可以处理JSON。也见Restlet,它可能会帮助您解决双向问题,并且已经有C++的REST库。