嵌入式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.9 e.tar.gz压缩包。
四.情景描述
下载gsoap_linux_ 2.7.9 e.tar.gz压缩包并且解压,之后完成calc.hMakefilecalcserver.ccalcclient.c程序并且编译,最后在开发平台上进行测试
五.完成实验所需时间:约60分钟
六.实验内容:
1.   新建一个目录,将这个实验所需要用到的压缩包复制到该目录中并解压
从网站下载压缩包gsoap_linux_ 2.7.9 e.tar.gzCSDN网站有下载,并且准备压缩
[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
打开浏览器,输入如下地址: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说明测试成功,同时在目标板上也会看到返回辅助接口的连接成功信息。
 
 









本文转自 chen138 51CTO博客,原文链接:http://blog.51cto.com/chenboqiang/302882,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
前端开发 算法 API
构建高性能图像处理Web应用:Next.js与TailwindCSS实践
本文分享了构建在线图像黑白转换工具的技术实践,涵盖技术栈选择、架构设计与性能优化。项目采用Next.js提供优秀的SSR性能和SEO支持,TailwindCSS加速UI开发,WebAssembly实现高性能图像处理算法。通过渐进式处理、WebWorker隔离及内存管理等策略,解决大图像处理性能瓶颈,并确保跨浏览器兼容性和移动设备优化。实际应用案例展示了其即时处理、高质量输出和客户端隐私保护等特点。未来计划引入WebGPU加速、AI增强等功能,进一步提升用户体验。此技术栈为Web图像处理应用提供了高效可行的解决方案。
|
10月前
|
存储 监控 安全
如何在Python Web开发中确保应用的安全性?
如何在Python Web开发中确保应用的安全性?
|
3月前
|
缓存 前端开发 应用服务中间件
Web端实时通信技术SSE在携程机票业务中的实践应用
本文介绍了携程机票前端基于Server-Sent Events(SSE)实现服务端推送的企业级全链路通用技术解决方案。文章深入探讨了 SSE 技术在应用过程中包括方案对比、技术选型、链路层优化以及实际效果等多维度的技术细节,为类似使用场景提供普适性参考和借鉴。该方案设计目标是实现通用性,适用于各种网络架构和业务场景。
93 1
|
4月前
|
缓存 前端开发 应用服务中间件
Web端实时通信技术SSE在携程机票业务中的实践应用
本文介绍了携程机票前端基于Server-Sent Events(SSE)实现服务端推送的企业级全链路通用技术解决方案。文章深入探讨了 SSE 技术在应用过程中包括方案对比、技术选型、链路层优化以及实际效果等多维度的技术细节,为类似使用场景提供普适性参考和借鉴。
126 7
|
10月前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
272 3
|
10月前
|
前端开发 JavaScript
探索现代Web应用的微前端架构
【10月更文挑战第40天】在数字时代的浪潮中,Web应用的发展日益复杂多变。微前端架构作为一种新兴的设计理念,正逐步改变着传统的单一前端开发模式。本文将深入探讨微前端的核心概念、实现原理及其在实际项目中的应用,同时通过一个简单的代码示例,揭示如何将一个庞大的前端工程拆分成小而美的模块,进而提升项目的可维护性、可扩展性和开发效率。
|
7月前
|
中间件 关系型数据库 数据库
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
202 19
|
8月前
|
Web App开发 编解码 vr&ar
使用Web浏览器访问UE应用的最佳实践
在3D/XR应用开发中,尤其是基于UE(虚幻引擎)开发的高精度场景,传统终端因硬件局限难以流畅运行高帧率、复杂效果的三维应用。实时云渲染技术,将渲染任务转移至云端服务器,降低终端硬件要求,确保用户获得流畅体验。具备弹性扩展、优化传输协议、跨平台支持和安全性等优势,适用于多种终端和场景,特别集成像素流送技术,帮助UE开发者实现低代码上云操作,简化部署流程,保留UE引擎的强大开发能力,确保画面精美且终端轻量化。
361 17
使用Web浏览器访问UE应用的最佳实践
|
10月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
178 61
|
9月前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
253 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙