嵌入式Web Service gSOAP的移植与应用(二)

WebService gSOAP 实验
一. 实验目的
了解 gSOAP WebServer 的使用方法并完成相关实验
二. 基础知识
(1)       C 语言基础知识
(2)       掌握 Linux 环境下 vi 编译器的使用方法
(3)       掌握 Makefile 的编写和使用方法
(4)       掌握 Linux 下的程序与交叉编译过程
三. 实验环境
为了完成本实验,以下硬件条件是必须的:
UP-NETARM2410-S 嵌入式实验平台
PC Pentium500 以上,硬盘 40GB 以上,内存 128MB 以上
为了完成本实验,以下软件条件是必须的:
PC 机操作系统 RedHat Linux 9.0
ARM-Linux_ 2.7.9 e.tar.gz 压缩包。
四. 情景描述
下载 gsoap_linux_ 2.7.9 e.tar.gz 压缩包并且解压,之后完成 calc.h Makefile calcserver.c calcclient.c 程序并且编译,最后在开发平台上进行测试
五. 完成实验所需时间:约 60 分钟
六. 实验内容:
1.  新建一个目录,将这个实验所需要用到的压缩包复制到该目录中并解压
从网站下载压缩包 gsoap_linux_ 2.7.9 e.tar.gz CSDN 网站有下载,并且准备压缩
[root@localhost arm2410cl]# ls
// 查看目录下的文件
[root@localhost arm2410cl]# tar -zxvf gsoap_linux_ 2.7.9 e.tar.gz
// 解压 gsoap_linux_ 2.7.9 e.tar.gz 压缩包
嵌入式Web Service gSOAP的移植与应用(二)_第1张图片
解压缩后的文件夹是 gsoap-linux-2.7 ,之后进入该文件夹下的 samples/calc/
1.  修改 calcclient.c 文件
进入 calcclient.c 文件,然后将如下内容:
[root@localhost arm2410cl]# cd gsoap-linux-2.7/samples/calc/
进入 calcclient.c 文件,然后将如下内容:
[root@localhost calc]# vi calcclient.c
// 编辑 calcclient.c 文件
将下面内容:
const char server[] = "http://websrv.cs.fsu.edu/~engelen/calcserver.cgi";
修改成为:
const char server[] = http://localhost:8080;
[root@localhost calc]# make
// make 编译原文件
[root@localhost calc]# ls
// 显示所有文件
[root@localhost calc]# ./calcserver 8080
// calc 目录下执行如下命令,其中 8080 是端口号,其中下面信息说明 calcserver 程序已经在后台执行。
Socket connection successful: master socket = 3
Socket connection successful: slave socket = 4
打开浏览器,输入如下地址: http://localhost:8080 ,此时浏览器出现下面这个界面说明 calcserver 程序运行没有问题。
[root@localhost calc]# ./calcclient add 7 8
linux 打开另个终端 , 执行命令测试 7+8=15 结果是正确的。
result = 15
[root@localhost calc]# ./calcclient mul 3 4
// 在执行命令测试 3*4=12 结果也是正确的,每执行依次命令就在 calcserver 服务端返回连接成功的信息。
result = 12
[root@localhost arm2410cl]# cd gsoap-linux-2.7/samples/calc/
// 删除原来解压目录,测试在 arm 平台下运行程序前面的步骤是一样的
[root@localhost calc]# ls
// 显示 /arm2410cl/gsoap-linux-2.7/samples/calc/ 目录下的文件
calcclient.c  calc.h  calcserver.c  Makefile
[root@localhost calc]# vi Makefile
// 编辑 Makefile 文件
calcserver:     calc.h calcserver.c $(SOAPH) $(SOAPC)
                $(GSOAP) -c calc.h
                armv 4l -unknown-linux-gcc $(CFLAGS) -o calcserver calcserver.c soapC.c soapServer.c $(SOAPC) -lm $(LIBS)
// calcserver :中的 $(CC) 改为 armv 4l -unknown-linux-gcc 编译器
[root@localhost calc]# vi calcclient.c
// 编辑 calc 客户端文件 , 为了能看出效果可以用目录标板的 IP 地址代替 localhost, 端口号是一样的。将下面的内容:
const char server[] = "http://websrv.cs.fsu.edu/~engelen/calcserver.cgi";
修改成:
const char server[] = http://10.88.221.61:8080;
[root@localhost calc]# make
// 编译原程序代码,在编译的时候会显示一些关于限制范围的一些警告信息,但不会影响运行结果。
[/mnt/yaffs]mount -t nfs 10.88.221.60:/arm2410cl /mnt/nfs
// 挂载 linux /arm2410cl 的目录到目标板上的 /mnt/nfs 挂载点上。
[/mnt/yaffs]cd /mnt/nfs
// 切换到 /mnt/nfs 目录中
[/mnt/nfs]ls
// 可以看到是挂载成功的
gsoap-linux-2.7            gsoap_linux_ 2.7.9 e.tar.gz
[/mnt/nfs]cd gsoap-linux-2.7/samples/calc/
// 切换到 calc 目录下的
[/mnt/nfs/gsoap-linux-2.7/samples/calc]ls
// 显示目录下的文件
 [/mnt/nfs/gsoap-linux-2.7/samples/calc]./calcserver 8080
// 执行 calc 服务器的执行文件加端口号 8080 ,见到下面信息说明是成功的
Socket connection successful: master socket = 3
Socket connection successful: slave socket = 4
Socket connection successful: slave socket = 4
linux 打开浏览器,在地址栏输入: http://10.88.221.61:8080/ , 显示下面界面,同时也会在目标板显示一个从 slave socket 接口号 4 连接成功的信息。
[root@localhost calc]# ./calcclient mul 3 4
// linux 界面下运行 calc 客户端执行程序,执行命令 3*4=12 ,如果结果返回 12 说明测试成功,同时在目标板上也会看到返回辅助接口的连接成功信息。
 
 
 
 
 
参考文献:《嵌入式 Linux 程序设计案例与实验教程》
俞辉 主编
李永 何旭莉 刘小洋 李振宁 编著
 

你可能感兴趣的:(Web,service,嵌入式,移植,gsoap)