20145221高其&20145326蔡馨熠《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验
实验目的与要求
- 掌握在ARM开发板实现一个简单WEB服务器的过程。
- 学习在ARM开发板上的SOCKET网络编程。
- 学习在Linux环境下signal()函数的调用。
实验原理
-
在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。
-
了解多线程程序设计的基本原理。
-
学习pthread库函数的使用。
实验过程
开发环境的配置
将实验代码看懂并拷贝到共享文件夹中。
参照实验指导书修改makefile:
编译应用程序
进入07_httpd文件夹,运行 make 产生可执行文件httpd,然后分别输入
-
armv4l-unknown-linux-gcc -o ../bin/httpd httpd.o copy.o -lpthread
-
armv4l-unknown-linux-gcc -o httpd httpd.o copy.o -lpthread
再次查看文件夹时就可以发现已经生成httpd可执行文件。
下载调试
使用 NFS 服务方式将HTTPD 下载到超级终端上,并拷贝测试用的网页进行调试,运行完之后是等待连接的界面。
本机测试
在台式机的浏览器中输入 http://192.168.0.121,观察在客户机的浏览器中的连接请求结果和在开发板上的服务器的打印信息。
-
客户机的浏览器中的连接请求结果如下:
-
在开发板上的服务器的打印信息:
遇到的问题及解决方法
-
Makefile文件要根据实验指导书来修改。
-
Make编译问题及解决方案
问题:make时出现error127。
解决:找到了原因,是环境变量的配置出现了问题,是拷代码时没有将一个Rules.mak的MAK类型文件一起拷过来,导致make命令不能使用,重新配置后则正常make。
心得体会
本次实验在实验四完成并配置好相关环境变量后,相对来说过程比较流畅。没什么大问题,但如果提前把实验指导书进行细致研究的话,实验效果应该会更好。本学期信息安全设计基础实验至此就结束了,在这五次实验中,我们小组解决问题和实践的能力都得到了提高,对于操作系统和相关arm板开发有了更深刻的理解和认识。谢谢老师的指导和帮助!!!