hessian(C++ 篇 hessianord工具)

来源:互联网 发布:谭浩强c语言入门下载 编辑:程序博客网 时间:2024/05/29 15:44

继续上一篇博文的 后续篇

http://blog.csdn.net/easyj_/article/details/9985005  hessian(Java 篇)


在一般 client  server 模式通信中 server端和client端 采用的未必是同一种的语言的平台

如:server端 是java开发的 客户端可能是android、IOS、或者是cocos2D-X 

android 打可放心 调用hessian 还是比较简单  用原生java  或者 用hessi android版本都可以

如果是IOS 采用 Object-C的话 也相对比较简单 有HessianKit 可以在官方上找到并下载

如果是COCOS2D-X 其实也并不难,官方有提供 hessiancpp 开发工具包

不过 郁闷的是 hessiancpp 活跃度太低,并且没有实例代码 和 官方有用的文档 让咱们这些菜鸟实在为之头疼

这里为大家介绍一个 hessiancpp的另一个好用的工具

hessianord  项目地址 https://code.google.com/p/hessianorb/


下面开始搭建 hessianord(Linux 系统下 执行的 )

在开始前 要先检查下自己的linux 环境里 是否安装如下工具

java-jdk 1.6 +   Java开发必须
apache-ant    apache-ant 构建工具
cmake 2.8 +    cmake build 工具  该工具有 要求 必须是 2.8.x以上版本 否则在安装 hessianord 的时候会出错
curl-devel         也是hessainord 必须的工具包 
svn    版本控制器 为了从svn上下载 hessianord


现在 开始 执行步骤

#rpm -qa | grep java  检查是否安装java

#ant -version 检查是否安装ant

#rpm -qa|grep cmake 检查是否安装cmake (一般系统中都是预安装 但是 版本可能会比较低 如果不是2.8.x以上版本 就卸载掉)

#rpm -e --nodeps cmake.x.x 卸载旧版本

#rpm -qa | grep curl-devel 检测是否安装curl

#rpm -qa | grep svn 检测是否安装svn

按照个人情况 执行自己的操作

1.如果没有安装jdk  googel/baidu 自行安装

2.安装ant 下面上图


把从apache上下载的apache-ant 减压


将解压的文件 移动到 /usr/java/  目录下

配置环境变量



3.检查cmake 是否 在2.8.x 以上

//我在yum 源直接安装 没有找到最新版本 后来google搜索 在官网下的 所以我的代码是安装rpm 包 上图


4.检查是否安装curl 

//因为我的系统新系统 而且没有安装curl 在cmake 的时候出过错 没有检查截图

直接执行这个命令

# yum -y install curl-devel

5.安装svn  我是从svn上下载的 所以需要这个工具

#yum -y install svn


到这一步 需要的工具和环境 就算完成了

开始下载 编译 heesianord

#svn checkout http://hessianorb.googlecode.com/svn/trunk/

#cd trunk/

#mkdir build

#cd build/

#cmake ..  

#make

到这里 hessianord 就算安装好了!


在面开始写一个hessian-client-cpp-demo

1.首先将找到我们的hessian-server-demo 

进入到 classpath所在目录


执行下面的命令

hessianc -classpath /root/Downloads/hessian-server-demo/WebRoot/WEB-INF/classes http org.hessian.example.http.Api http org.hessian.example.http.UserBean


就会生成这样的文件 将其拷贝到你的C++项目中(org文件夹下是java类 拷贝的时候不需要)


测试用例

一个是系统需要有编译好的curl 库文件 如何编译 google/baidu  *如果没有curl库支持 编译肯定过不去 

还需要 下载的hessianord 文件中的 runtime 文件夹下的 include 文件夹下的所有文件 和 src文件下的所有文件 *解析hessianord协议的必要库文件 不可少

test.cpp 直接上图了





原创粉丝点击