嵌入式Web Service gSOAP的移植与应用(二)
原创
©著作权归作者所有:来自51CTO博客作者chen138的原创作品,请联系作者获取转载授权,否则将追究法律责任
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压缩包
解压缩后的文件夹是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
[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
armv4l -unknown-linux-gcc $(CFLAGS) -o calcserver calcserver.c soapC.c soapServer.c $(SOAPC) -lm $(LIBS)
//将calcserver:中的$(CC)改为armv4l -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
[root@localhost calc]# ./calcclient mul 3 4
//在linux界面下运行calc客户端执行程序,执行命令3*4=12,如果结果返回12说明测试成功,同时在目标板上也会看到返回辅助接口的连接成功信息。
参考文献:《嵌入式Linux程序设计案例与实验教程》
俞辉 主编
李永 何旭莉 刘小洋 李振宁 编著
下一篇:linux DHCP服务器的配置
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
51c嵌入式~LWIP移植各网卡
の嵌入式~ lwip移植
嵌入式 MCU -
嵌入式系统开发笔记
嵌入式开发学习笔记
linux 引导程序 寻址