由于项目中的存储那块是C++写的,我用java做客户端。文件存储地址和我的项目不在一个服务器上(由于存储的数据很大所以数据是放在另一个服务器上),但我的客户端需要从存储服务器上下载word文件给客户显示。所以我想让c++写一个下载的接口,我去调用C++的远程接口将word下载到我项目所在的服务器上。但我没做过这方面的项目,希望各位前辈给个具体的思路。

解决方案 »

  1.   

    帮你顶啦!我也没有做过的
    http://www.javanb.com/java/2/19646.html
    找了一个不知道 对你有没有帮助
      

  2.   

    这个是通过JNI调用的 ,但是我没有用过 没有办法帮你啦 抱歉
      

  3.   

    谢谢你的回复,jni是调用本地C接口的,但我调的是远端服务器上的C++接口
      

  4.   

    不知道rmi/jni 可以实现不,希望高手帮忙讲解一下。
      

  5.   

    webservice 应该不行,我想让C++给我下载文档,所以我想我必须得和它建立连接才行。
      

  6.   

    你C++存储服务器的接口可以做成Web Service形式,
    JAVA这边可以用Xfire或JDK 1.6 API生成的Web客户端进行调用。
      

  7.   

    调用Web service就是建立连接,获得结果过程。
      

  8.   


    如果远端服务器也是Web服务器的话,可以从本地向远端发送Web请求,远端服务器通过jni调用C++接口。
      

  9.   

    远端只是个储存服务器,只有C++的服务代码,不过可以考虑放个web服务上去。但有没有更好的方式,比如用
    rmi结合jni一起使用之类的??
      

  10.   

    rmi是远程方法调用意思,
    它可能受限于同种语言之间
      

  11.   

    java中提供了navie关键字去做这个事情,可以吧c++程序编译成dll,然后去调用!楼主可以google一下这个东西
      

  12.   

    web service不行吗?
    如果不行,就直接socket通信吧。
      

  13.   

    问题解决了,谢谢各位的帮助。在此简单的说一下我的方案。
    1。用jni调用C++的本地库,jni接口中提供连接C++服务器的接口和下载文件的接口由C++的本地库去实现。连接成功后调用下载的方法去下载。
    2.在远端存储服务器上部署java服务(socket就行)客户端去取数据,(客户端连的服务地址用处理好)。我用的是第一种。