嵌入式Web Service gSOAP的移植与应用(二)-阿里云开发者社区

开发者社区> 余二五> 正文

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

简介:
+关注继续查看
WebService gSOAP实验
一.实验目的
了解gSOAP WebServer的使用方法并完成相关实验
二.基础知识
(1)       C语言基础知识
(2)       掌握Linux环境下vi编译器的使用方法
(3)       掌握Makefile的编写和使用方法
(4)       掌握Linux下的程序与交叉编译过程
三.实验环境
为了完成本实验,以下硬件条件是必须的:
UP-NETARM2410-S嵌入式实验平台
PCPentium500以上,硬盘40GB以上,内存128MB以上
为了完成本实验,以下软件条件是必须的:
PC机操作系统RedHat Linux 9.0
ARM-Linux_2.7.9e.tar.gz压缩包。
四.情景描述
下载gsoap_linux_2.7.9e.tar.gz压缩包并且解压,之后完成calc.hMakefilecalcserver.ccalcclient.c程序并且编译,最后在开发平台上进行测试
五.完成实验所需时间:约60分钟
六.实验内容:
1.  新建一个目录,将这个实验所需要用到的压缩包复制到该目录中并解压
从网站下载压缩包gsoap_linux_2.7.9e.tar.gzCSDN网站有下载,并且准备压缩
[root@localhost arm2410cl]# ls
//查看目录下的文件
[root@localhost arm2410cl]# tar -zxvf gsoap_linux_2.7.9e.tar.gz
//解压gsoap_linux_2.7.9e.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
打开浏览器,输入如下地址: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
                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.9e.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说明测试成功,同时在目标板上也会看到返回辅助接口的连接成功信息。
 
 









本文转自 chen138 51CTO博客,原文链接:http://blog.51cto.com/chenboqiang/302882,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SpringCloud迁移至EDAS微服务——Series2:在 ECS 集群中部署 Web 应用
SpringCloud迁移至EDAS微服务——Series2:在 ECS 集群中部署 Web 应用
1666 0
linux应用之文件实时同步(sersync)
http://hi.baidu.com/johntech/blog/item/be8559d2ebc99282a1ec9c18.html   公司最近业务需求,要实时同步windows与linux,linux与linux之间的数据。
1107 0
Web系统下Office文档的处理 之OpenXml应用分类资料
本文对常见的处理参考和工具提供一个简要的参考。 对于实际的解决方案参考如下地址(有很多的分类知识) http://blogs.msdn.com/b/ericwhite/archive/2008/10/20/eric-white-s-blog-s-table-of-contents.
889 0
Android应用框架之Service
之前的博客已经介绍了应用框架中的Activity和Application,今天来讲四大组件之一的Service。对于Service大家肯定都比较熟悉,与Activity最大的不同就是Service不会与界面打交道,而是始终工作在后台,执行一些与UI无关的操作和计算。即便用户切换了其他应用,启动的Service仍可在后台运行。一个组件可以与Service绑定并与之交互,甚至是跨
1167 0
【终极解决方案】为应用程序池“XXX”提供服务的进程在与 Windows Process Activation Service 通信时出现严重错误。该进程 ID 为“XXXX”。数据字段包含错误号。
原文:【终极解决方案】为应用程序池“XXX”提供服务的进程在与 Windows Process Activation Service 通信时出现严重错误。该进程 ID 为“XXXX”。数据字段包含错误号。
2165 0
Microsoft Access应用可以这么玩
Access作为一个轻量级的个人数据库,很久以前是数据库设计的流行工具,整理资料的过程中看到一个基于access的accdb格式的应用,功能也很强大。在目前网络应用主流的今天这样的应用比较少,不过在特定的场景下采用这个方案仍是一个高效快速的解决方案。
862 0
应用中抛出SELECT/UPDATE/INSERT/DELETE command denied to user 'XXX'@'XXX.XXX.XXX.XXX' for table 'xxx' 的5种原因
SELECT/UPDATE/INSERT/DELETE command denied to user 'XXX'@'XXX.XXX.XXX.XXX' for table 'xxx'的错误大部分出现在应用程序中,有时用客户端登录mysql后执行操作也会遇到,后者更容易排查,前者由于涉及应用逻辑以及对象.
9052 0
Serverless 微服务实践-移动应用包分发服务(Fun 3.0 升级版)
Serverless 微服务实践-移动应用包分发服务 背景 阿里云函数计算是事件驱动的全托管计算服务。通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,以弹性、可靠的方式运行您的代码,并提供日志查询、性能监控、报警等功能。
2202 0
+关注
12613
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载