Java 如何从c或c++;客户端使用libcurl?

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应用程序(也就是说您可以重新

我有一个带有GWT客户端的google应用程序引擎应用程序。大多数服务器功能都可以像往常一样通过正常的GWT RPC调用访问。我正在编写一个C++中的数据挖掘应用程序,需要与AppEngine应用程序通信。问题是,实现的gwt servlet太多了,所以不可能重写服务器代码


有什么想法吗?

如果您在客户端上使用java,您可以使用。虽然这个库的主要用例是测试远程gwt rpc服务,但它可以有效地用于任何目的。在C++中开发客户端时,这可能不是你的选择。

如果您控制GWT应用程序(也就是说您可以重新编译它),您可以很可能执行以下操作:

  • 将RPC相关函数导出到javascript中。也就是说,使GWT代码的特定函数可以作为普通Javascript函数从主机页中调用。有关教程,请参阅文章

  • 使用类似的webkit并在其中加载GWT模块脚本

  • 将导出的GWT函数作为普通java函数调用


  • 但这可能会被证明是太多的工作,因此您最好重构servlet,以公开除RPC之外的另一个基于JSON/XML的接口。

    解决了这个问题,最好的方法是按照Tahir的建议。尝试直接连接C++的GWT RPCS是太多的工作。最简单的方法是在服务器端编写瘦包装器作为普通servlet,并使用C++中的HTTP和CURL。关于JSON或XML的对象序列化还有一个问题。我选择在我想要序列化的对象字段上编写一个自定义注释,然后在运行时读取这些注释以序列化它们。

    有几个库可以轻松地进行POJO->JSON转换。例如,请参见和。XStream主要是XML,但也可以处理JSON。也见Restlet,它可能会帮助您解决双向问题,并且已经有C++的REST库。